我认为这应该存在,但它似乎不受任何流行的命令行参数解析库的支持。
我希望我的脚本具有一组不包含另一个选项的选项。
比如这里我使用了-c
选项
$ node my_script.js -c "foo"
但是在这里,-c
选项没有意义,因为我指定了一些不同的选项。
$ node my_script.js -b "bar" -n 5
下面应该是错误的,因为-c
与-b
和-n
是互斥的
$ node my_script.js -b "bar" -n 5 -c "foo"
我知道这存在于 Python 的 argparse 中。我很惊讶在 Node 世界中找不到它。
最佳答案
Commander.js通过 Option.conflicts
方法可以方便地执行此操作。请参阅以下示例(改编自 here ):
const { program, Option } = require('commander');
program
.addOption(new Option('--cash').conflicts('credit'))
.addOption(new Option('--credit'));
如果您尝试同时使用这两个参数,程序将失败并输出以下消息:error: option '--cash' cannot be used with option '--credit'
关于Node.js:使用互斥参数进行命令行解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43646601/