使用Node的fs.readFile()时,我应该在__dirname之前添加路径吗?

时间:2014-04-19 21:28:50

标签: javascript node.js file path

示例:

fs.readFile(path.join(__dirname, 'path/to/file'), callback);

fs.readFile('path/to/file', callback);

两者似乎都有效,所以我想知道我是否可以跳过__dirname前缀,即如果有任何理由可以添加前缀。

2 个答案:

答案 0 :(得分:1)

来自node docs

__dirname

是当前正在执行的脚本所在的目录的名称。

这将允许跨多个部署的灵活性(例如:开发/生产)。

如果您没有部署到任何远程服务器,您可能不需要__dirname标记。

答案 1 :(得分:1)

通常最好使用__dirname,因为它不关心运行节点的位置(即cwd)。

尝试从其他目录运行您的应用程序 - __dirname变体仍将成功,而另一个则不会。即假设node app.js位于名为node foo/app.js的目录中,而不是app.js运行foo