在 Node.js 中,我如何知道 `this` 模块的路径?
Posted
技术标签:
【中文标题】在 Node.js 中,我如何知道 `this` 模块的路径?【英文标题】:In Node.js how can I tell the path of `this` module? 【发布时间】:2011-07-10 02:35:50 【问题描述】:在 Node.js 模块中,我想打开一个文件——即,fs.readFile()
——与我的模块包含在同一目录中。我的意思是它与./node_modules/<module_name>/index.js
文件位于同一目录中。
看起来fs
模块执行的所有相对路径操作都是相对于启动 Node.js 的目录进行的。因此,我想我需要知道如何获取当前正在执行的 Node.js 模块的路径。
谢谢。
【问题讨论】:
您可以使用__dirname
和__filename
获取有关模块位置的信息。
【参考方案1】:
正如 david van brink 在 cmets 中提到的,正确的解决方案是使用 __dirname
。此全局变量将返回当前执行脚本的路径(即,您可能需要使用 ../
到达模块的根目录)。
例如:
var path = require("path");
require(path.join(__dirname, '/models'));
只是为了让某人免于头痛。
【讨论】:
以上是关于在 Node.js 中,我如何知道 `this` 模块的路径?的主要内容,如果未能解决你的问题,请参考以下文章
使用 lambda 通过 Node.js 验证 iOS 收据