在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'));
只是为了避免头痛的人。