我正在尝试使用 command.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
. 这是否意味着不可能将这些字符串中的任何一个用作我的程序的参数,或者是否有解决方法?这在任何地方都有记录吗?