特定条件下的 Yargs .check()

Bru*_*ceM 1 javascript node.js yargs

我目前有 yargs 在一个应用程序中工作,该应用程序可以在没有参数的情况下运行,或者以下两者之一:

  • 一个只有一个参数的“-o”选项
  • 不带参数的“-f”选项

这些工作,但没有什么能阻止用户输入被忽略的额外选项或参数,例如:

  • 应用程序你好
  • app -f 你好
  • app -o 你好你好

我宁愿失败并提醒他们使用。我认为 .check() 函数是正确的方法,但我在网上找不到很多例子。任何人都可以建议一个 check() 函数,如果这是正确的方法吗?

Bru*_*ceM 6

好的,经过一些实验,似乎以下有效:

.check(function (argv) {
        if (argv.f && argv.f !== true) {
            return false;
        }
        if (argv._.length) {
            return false;
        }
        return true;
    })
Run Code Online (Sandbox Code Playgroud)

希望这对未来的人有帮助