使用 yargs(npm 包),如果找不到命令如何给出错误?

Using yargs (npm package), how to give an error if command not found?

我有 2 个命令的 yargs?

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

用户输入:

node myapp.js other-command

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

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

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

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

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