2011-03-07 53 views
22

在Node.js的模块,我写我想打开一个文件 - 即,与fs.readFile()凹口 - 包含在同一目录作为我模块。我的意思是它在与./node_modules/<module_name>/index.js文件相同的目录中。在Node.js中,我该如何判断`this`模块的路径?

它看起来像它们由fs模块相对于在其中Node.js的启动目录中的走位执行的所有相对路径的操作。因此,我想我需要知道如何获取当前正在执行的Node.js模块的路径。

谢谢。

+19

您可以使用'__dirname'和'__filename'获取有关模块位置的信息。 – Pindatjuh 2011-04-14 14:12:38

回答

39

大卫濒临面包车在评论中提到的,正确的解决方法是使用__dirname。此全局变量将返回当前正在执行的脚本的路径(即,您可能需要使用../才能到达模块的根目录)。

例如:

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

只是为了节省从一个头痛的人。

+10

为什么不'path.join'? – 2014-06-19 11:38:12

相关问题