使用 yargs 自定义位置命令参数

customizing positional command arguments with yargs

我正在尝试将 yargs 用于命令行应用程序,但我 运行 我的位置参数有问题。

我有:

require('yargs')
    .command(
        'my-command <value>',
        'This command does someting'
        (y) => {
            return y
                .option('my-option', {
                    describe: "Some option",
                    demandOption: true
                })
         }
         (args) => {
             //execute my command here
         }
    )
    .help()
    .completion()
    .argv

这让我可以调用:

my-program my-command my-value --my-option=hello!

并且 args.value 现在包含 "my-value"。

到目前为止一切顺利。然而,问题是 'value' 参数没有出现在帮助文本中。我还想进一步限制 value 参数,基本上是向它添加一个 choices 数组。但我只能找到如何使用生成 -- 标志的 .option() 函数来执行此操作。例如 --my-option.

是否可以像自定义 -- 选项一样自定义位置参数?

好像不支持。 https://github.com/yargs/yargs/issues/541

并且该问题已关闭,因此很可能不会很快实施。