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

时间:2016-04-17 05:43:28

标签: javascript node.js command-line-interface

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

var program = ...;

program
  ...
  .command('list', 'list packages installed', {isDefault: true})
  .parse(process.argv);

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

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

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

1 个答案:

答案 0 :(得分:0)

根据documentation

  

当使用description参数调用.command()时,不应调用.action(回调)来处理子命令,否则会出错。

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