commander.js:使用 action() 传递命令的 isDefault 选项

Sub*_*ran 5 javascript command-line-interface node.js

根据commander.js自述文件,我可以指定默认命令:

var program = ...;

program
  ...
  .command('list', 'list packages installed', {isDefault: true})
  .parse(process.argv);
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我使用.command()不带描述参数的.action(). 我尝试将第二个参数null和第三个选项传递给isDefault:true. 但它似乎不起作用:

program.command('help', null, {isDefault:true})
  .description('display help information.')
  .action(function(){
    program.outputHelp();
  });
Run Code Online (Sandbox Code Playgroud)

如何传递isDefault:true给命令.action()

efo*_*ng5 1

根据文档

当使用描述参数调用 .command() 时,不应调用 .action(callback) 来处理子命令,否则会出现错误。

我相信这意味着您需要找到解决方法,例如编写单独的子命令。