yargs无法处理命令级别的选项

时间:2018-06-21 00:57:49

标签: javascript node.js yargs

我正在将节点js yargs模块用于传递给终端的选项。 我的脚本有多个命令,每个命令对其他命令的输入都不同。

当我运行命令myscriptname cp -i 12345时,它将在终端上显示以下消息 Not enough non-option arguments: got 0, need at least 2

这是我的yargs代码,用于处理命令中的终端选项

const yargs = require('yargs');    
let argv = yargs
    .usage('$0 <command> [option]')
    .command(
        'cd , compare_dollar',
        'compare exchange rate of dollar',
        (yargs) => {
            return yargs
                .usage('$0 compare_dollar -file <fileName> -stage [options] -country [option]')
                .example('$0 compare_dollar -file fpp.xls -stage dev', 'calculate the exchange')
                .example('$0 cd -f fpp.xls -s dev', 'calculate the exchange')
                .alias('f', 'file')
                .nargs('f', 1)
                .describe('f', 'file path')
                .default('f', './foo.xls')
                .alias('s', 'stage')
                .describe('s', 'stage i.e [dev|qa|uat|prod]')
                .default('s', 'dev')
                .alias('c', 'country')
                .describe('c', '[IN|BA]')
                .default('c', 'IN')
                .help('h')
                .alias('h', 'help')
                .wrap(null);

        }
    )
    .command(
        'cp , compare_price',
        'compare price for an item on various sites',
        function (yargs) {

            return yargs
                .usage('$0 cp -i <item_id> -s [option] -c [option]')
                .example('$0 cp -item_id <item_id> -s dev -c US', 'foooo')
                .example('$0 cp -i <item_id>', 'foooo')
                .alias('i', 'item_id')
                .demand(1)
                .alias('s', 'stage')
                .describe('s', 'stage i.e [dev|qa|uat|prod]')
                .default('s', 'dev')
                .alias('c', 'country')
                .describe('c', '[IN|BA]')
                .default('c', 'IN')
                .help('h')
                .alias('h', 'help');
        }
    )
    .help('h')
    .alias('h', 'help')
    .demand(1)
    .wrap(null)
    .argv;

0 个答案:

没有答案