我有一个Node.js应用程序( MyGreatApp
),它需要一个节点模块,如下所示:
// MyGreatApp/level_1/level_2/build.js
const myNpmModule = require('myNpmModule')();
所述节点模块( myNpmModule
)执行以下代码:
// MyGreatApp/node_modules/myNpmModule/index.js
const path = require('path');
module.exports = function() {
console.log(path.parse(process.mainModule.filename).dir);
}
在控制台上记录的内容是:
/Users/myname/myapps/MyGreatApp/level_1/level_2/
我希望在控制台上登录的内容是:
/Users/myname/myapps/MyGreatApp/
换句话说,从节点模块中执行path.parse(process.mainModule.filename).dir
将返回需要该模块的文件的文件夹的路径。
但我想知道的是,即安装/使用该模块的应用程序父文件夹的路径。
(注意:我不知道需要预先使用myNpmModule
的文件的位置。)
发布于 2018-07-06 03:34:05
我已经找到了一个npm模块:app-root-path
看起来像does all the dirty job for you only relying on __dirname
as a starting point。
如果有人有更简单/更好的方法,请张贴答案:-)
https://stackoverflow.com/questions/51198399
复制相似问题