Node.js:使用互斥参数进行命令行解析

标签 node.js command-line-arguments

我认为这应该存在,但它似乎不受任何流行的命令行参数解析库的支持。

我希望我的脚本具有一组不包含另一个选项的选项。

比如这里我使用了-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/

相关文章:

node.js - 使用 connect-assetmanager 缩小 bootstrap.js 会导致语法错误。为什么?

javascript - 如何在 NodeJs 中使用请求进行多个 API 调用?

node.js - 从环境变量加载凭据

node.js - 如何使用 Node glob 获取前 X 个文件

linux - 命令行参数如何从 shell 传递到可执行文件?

node.js - "Simple"使用 Node/mongo/express 的 RESTful API

没有参数的 Python argparse 命令行标志

c - 如何在 Ubuntu 中为终端添加特定用途的命令行参数?

c - 在 C 中解析命令行参数

Golang 命令参数为空导致错误