是否可以在Node.js中创建double cli命令?

时间:2019-05-13 05:34:17

标签: node.js command-line-interface

我刚刚完成this tutorial的创建Node.js CLI的工作。我学习了如何使用参数e创建单个CLI命令。 G。 Django 1.8

如果我的CLI必须做很多事情怎么办?当然,我们可以将目标动作作为参数传递:

my-cli-command --parameter

但是在这种情况下

my-cli --doSomething1
my-cli --doSomething2

要更加优雅。有可能吗?

1 个答案:

答案 0 :(得分:0)

下面的列表来自同一教程。 args._数组(总是存在,但可以为空)包含所有子命令。

import arg from 'arg';

function parseArgumentsIntoOptions(rawArgs) {
 const args = arg(
   {
     '--git': Boolean,
     '--yes': Boolean,
     '--install': Boolean,
     '-g': '--git',
     '-y': '--yes',
     '-i': '--install',
   },
   {
     argv: rawArgs.slice(2),
   }
 );
 return {
   skipPrompts: args['--yes'] || false,
   git: args['--git'] || false,
   template: args._[0],
   runInstall: args['--install'] || false,
 };
}