在 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 收据

如何在 node.js 中集成 FCM 以进行推送通知?

Node.js MySql如何知道用户ID以在登录后的查询中使用它

Jsctags无法正常工作

Node.js:如何从系统中读取变量?

如何在node.js中更改格式日期