在Node.js中,我怎么能告诉`this`模块的path?

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

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

谢谢。

正如在评论中提到的大卫·范·边缘,正确的解决scheme是使用__dirname 。 这个全局variables将返回当前正在执行的脚本的path(即,您可能需要使用../到达您的模块的根目录)。

例如:

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

只是为了避免头痛的人。