如何为 Vorpal 应用程序的选项添加可变参数支持

How can I add variadic support to options of a Vorpal application

目前正在开发 vorpal application 并且正在尝试为我的一个命令添加可变参数支持。然而,将可变参数语法添加到命令的选项似乎没有按预期工作。

示例:
命令:language set-active -l en fr nl
输出:TypeError: Object en has no method 'join'

var vorpal = require('vorpal')();

// ... removed many commands for brevity of this example

vorpal
  .command('language set-active')
  .description('activate languages')
  .option('-l, --languages [languages...]', 'Enter a list of language keys to activate')
  .action(function(args, callback) {

    console.log(args.options.languages.join(', '));
    callback();
  });

vorpal
  .delimiter(vorpal.chalk.bold.yellow('blimp-cli~$'))
  .show();

然而,当我改变可变参数从选项命令参数时,效果很好:
命令:language set-active en fr nl
输出:output: en, fr, nl

// ...
vorpal
  .command('language set-active [languages...]')
  .description('activate languages')
  .action(function(args, callback) {
    console.log(args.options.languages.join(', '));
    callback();
  });
// ...

收到的 TypeError: Object en has no method 'join' 在我看来选项标志解析参数错误?

抱歉耽搁了。

在进一步研究时,Vorpal doesn't yet support 选项的可变参数,只有命令。

Vorpal bases 是主要从 minimist 模块中解析的选项,默认情况下不支持可变参数,并且由于其他细节,选项解析比命令解析有点棘手。

我会在以后的版本中考虑到这一点!