0

假设我有一个文件“test.js”:

var args = require('yargs')
        .command('command', 'command usage here', {alias: "c"} )
        .argv;

然后我运行:

>node test command

我收到了这个错误:

option 的第二个参数必须是一个对象

如果我删除 .command 的第三个参数:

 var args = require('yargs')
            .command('command', 'command usage here')
            .argv;

一切都很好。

我必须犯一个愚蠢的错误。但我就是想不通。

谢谢

4

1 回答 1

0

您的第三个参数不是必需的,这就是您删除它时它起作用的原因。我很确定第三个参数必须是函数调用。

var args = require('yargs')
       .command('command',
                'command explanation', 
                 function(yargs){
                     //insert yargs.options here
                     yargs.options({
                         c:{
                             demand: true,//if you require the command
                             alias: 'c',// you will enter -c to use it
                             description: 'explain what it does'
                           }    
                 });
                 })
                 .argv;

一个使用示例可能是:

C:\WorkingDirectory>node app.js 命令 -c 运行

您的代码可能包括console.log(args.c);//prints out run

于 2016-10-17T23:03:02.273 回答