我正在使用指挥官index.js
在项目文件中为我的全局节点模块指定一些命令和选项(如示例中所示)。
我知道我可以使用以下代码轻松检查是否使用了命令:
if (program.peppers) {
console.log('-peppers was used')
}
但是如何检查其他文件中的这些属性?我已经尝试program
在其他文件中导出并要求它,但它似乎不起作用。
假设我想检查一个选项是否在与我定义它们的文件不同的文件中使用。我该怎么做?
您可以将已解析的程序传递给需要已解析参数的文件/函数,或者您可以导出已解析的参数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