【问题标题】:Using yargs (npm package), how to give an error if command not found?使用 yargs(npm 包),如果找不到命令,如何给出错误?
【发布时间】:2020-09-02 05:24:27
【问题描述】:

我有 2 个命令的 yargs?

yargs
.command('test-all','',handler)
.command('test-file','',handler)
.argv

用户输入:

node myapp.js other-command

但是yargs 不要抛出错误。我该怎么办?

【问题讨论】:

    标签: javascript node.js yargs


    【解决方案1】:

    您可以使用.demandCommand() 来执行此操作:

    yargs
      .command('test-all','',handler)
      .command('test-file','',handler)
      .demandCommand(1, 'You need at least one command before moving on')
      .argv
    

    【讨论】:

    • 它没有应答。用户可以发出任何命令。我只想强制他执行我指定的命令之一。
    • @AminadavGlickshtein 在这种情况下,实例化 yargs 值并有条件地运行 .command()
    【解决方案2】:

    您只需要在显示帮助的所有其他内容(* 通配符)上定义一个命令。

    yargs
      .command('test-all','',handler)
      .command('test-file','',handler)
      .command('*','', () => { y.showHelp(); })
      .argv
    

    【讨论】:

      猜你喜欢
      • 2020-03-29
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 2015-07-09
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多