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

Chr*_* W. 23 javascript path node.js

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

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

谢谢.

Afs*_*ani 44

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

例如:

var path = require("path");
require(path.join(__dirname, '/models'));
Run Code Online (Sandbox Code Playgroud)

只是为了避免让人头疼.

  • 为什么不``path.join`? (10认同)