我正在使用commander在项目的index.js
文件中为我的全局节点模块指定一些命令和选项(如example所示)。
我知道我可以使用以下代码轻松检查是否使用了命令:
if (program.peppers) {
console.log('-peppers was used')
}
但是如何在其他文件中检查这些属性?我已经尝试导出program
并在其他文件中要求它,但它似乎不起作用。
假设我想检查一个选项是否用在与我定义的文件不同的文件中。我该怎么做?
答案 0 :(得分:0)
您可以将解析后的程序传递给需要解析参数的文件/函数,也可以导出已解析的参数program
实例
档案index.js
var program = require('./program');
if (program.peppers) {
console.log('-peppers was used')
}
档案program.js
var program = require('commander');
program
.version('0.0.1')
.option('-p, --peppers', 'Add peppers')
.option('-P, --pineapple', 'Add pineapple')
.option('-b, --bbq-sauce', 'Add bbq sauce')
.option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
.parse(process.argv);
module.exports = program;
从命令行调用index.js
:
> node index.js -p
产生输出
-peppers was used