Node.js:从该应用程序安装的节点模块中获取应用程序文件夹的路径



我有一个 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的文件的位置。

我找到了一个 npm 模块来做到这一点:app-root-path

看起来它只依靠__dirname作为起点为您完成了所有肮脏的工作。

如果有人有更简单/更好的方法,请发布答案:-(

相关内容

  • 没有找到相关文章