【问题标题】:In Node.js how can I tell the path of `this` module?在 Node.js 中,我如何知道 `this` 模块的路径?
【发布时间】:2011-07-10 02:35:50
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 您可以使用__dirname__filename 获取有关模块位置的信息。

标签: javascript path node.js


【解决方案1】:

正如 david van brink 在 cmets 中提到的,正确的解决方案是使用 __dirname。此全局变量将返回当前执行脚本的路径(即,您可能需要使用 ../ 到达模块的根目录)。

例如:

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

只是为了让某人免于头痛。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2017-01-02
    • 2017-01-18
    相关资源
    最近更新 更多