在Node.js中,如何判断`this`模块的路径?

时间:2011-03-07 04:36:45

标签: javascript path node.js

在我编写的Node.js模块中,我想打开一个文件 - 即fs.readFile() - 与我的模块包含在同一目录中。我的意思是它与./node_modules/<module_name>/index.js文件位于同一目录中。

看起来fs模块执行的所有相对路径操作都是相对于Node.js启动的目录进行的。因此,我想我需要知道如何获取正在执行的当前Node.js模块的路径。

感谢。

1 个答案:

答案 0 :(得分:43)

正如评论中提到的david van brink一样,正确的解决方案是使用__dirname。此全局变量将返回当前正在执行的脚本的路径(即,您可能需要使用../来访问模块的根目录。)

例如:

var path = require("path");
require(path.join(__dirname, '/models'));

只是为了避免让人头疼。