我尝试使用commander.js在我的命令行工具中解析参数,但是当我使用名为--options
的参数时,它无法正常工作:
// two params, both are optional
program
.option('--api <apiYaml>')
.option('--options <optionsYaml>')
.parse(process.argv);
if (program.options) {
let optionsFile = path.resolve(program.options);
...
if (program.api) {
let apiFile = path.resolve(program.api);
...
此代码适用于--api参数,但在没有--options参数的情况下调用时会死掉。
添加一些调试并查看program
对象,我发现问题是program
已经有options
属性,以及名为args
的属性, commands
和rawArgs
。这是否意味着不可能将这些字符串中的任何一个用作我的程序的参数,或者是否有解决方法?这是在任何地方记录的吗?