有没有办法从 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.js
和 bin/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']))
并检查内容以找到设置。
我正在写一个模块 运行 来自 "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.js
和 bin/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']))
并检查内容以找到设置。