节点获取所需父文件的路径

alt*_*alt 8 node.js

我正在编写一个节点模块,需要读取与需要我模块的文件相同的目录中的文件.

例如,我有app.js和在同一个文件夹中template.html.在一些未知的目录中是module.js并且app.js需要它.

我怎样才能读取template.htmlmodule.js

Dia*_*ara 19

在你的文件里面你将有一个全局模块(实际上不是全局模块),你可以使用它来获取父对象module.parent,module.parent.filename然后你可以提取文件夹

所以从你的module.js你可以使用module.parent.filename. http://nodejs.org/api/modules.html

p = require('path')
template = p.join(p.dirname(module.parent.filename),'template.html')
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找已执行的文件的路径,那么您可以使用 require.main.filename

  • 似乎module.parent.filename是由首先需要模块的文件设置的.如果您在其他任何地方需要该模块,则该值不会从我所知道的内容中更新. (6认同)