有没有办法从 npm 获取模块 运行 中的 package.json 属性?

Is there a way to get the package.json properties in a module run from npm?

我正在写一个模块 运行 来自 "scripts" 属性 像这样:

"scripts": {
    "runMyModule": "mymodule -stuff stuff"
}

注意:这不是我模块的 package.json。这是 package.json 用户用于 运行 npm.

我想让他们添加一个 属性 到那个主 package.json 文件(他们在命令行上由 npm run runMyModule 执行),然后我的模块将读取该文件。这可能吗?

我想要这样的东西:

"forMyModule": {
    stuff: [
        "one",
        "two"
    ]
},

"scripts": {
    "runMyModule": "mymodule -stuff stuff"
}

是否可以在我的模块中获取 forMyModule.stuff

我已经创建了 index.jsbin/mymodule.js 文件。

这样的事情对你有用吗?

var pjson = require('../package.json');
console.log(pjson.forMyModule);

找到使用您的模块的项目的根路径。有几种方法可以做到这一点,每种方法各有利弊:Determine project root from a running node.js application

获得该路径后,您可以简单地 require(path.join([rootPath, 'package.json'])) 并检查内容以找到设置。