目前正在开发一个涡旋应用,并试图在我的命令中添加各种支持。但是,将变量语法添加到命令的选项中似乎不像预期的那样有效。
示例:
命令: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();但是,当我更改时,变量参数从options变为命令参数工作得很好:
命令: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'的选项标志解析了参数错误吗?
发布于 2016-01-06 22:44:18
很抱歉让您久等了。
在进一步研究这个问题时,Vorpal 还不支持为选项提供了各种参数,只有命令。
Vorpal基础基本上是minimist模块之外的选项解析,默认情况下这不支持各种args,而且由于其他细节的原因,选项解析比命令解析要复杂一些。
我会把这个考虑到将来的版本中!
https://stackoverflow.com/questions/34459338
复制相似问题