Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用commander获取多个命令选项_Node.js_Command Line Interface_Node Commander - Fatal编程技术网

Node.js 使用commander获取多个命令选项

Node.js 使用commander获取多个命令选项,node.js,command-line-interface,node-commander,Node.js,Command Line Interface,Node Commander,我正在使用Nodejs和commander创建一个CLI,我需要实现这样的选项/命令 --create user --f-name="Kevin" 我尝试了各种选择,但都能成功 #!/usr/bin/env node const program = require("commander"); function collect(val, memo) { memo.push(val); return memo; } program.version("0.0.1", "-v, --ver

我正在使用Nodejs和commander创建一个CLI,我需要实现这样的选项/命令

--create user --f-name="Kevin"
我尝试了各种选择,但都能成功

#!/usr/bin/env node
const program = require("commander");

function collect(val, memo) {
  memo.push(val);
  return memo;
}

program.version("0.0.1", "-v, --version")
.option(
    "-c, --create <items>",
    "Create user",
    collect,
    []
  ).parse(process.argv);

console.log(' collect: %j', program.create );
#/usr/bin/env节点
const program=需要(“指挥官”);
功能收集(val、备忘录){
备忘录推送(val);
返回备忘录;
}
program.version(“0.0.1”,“-v,--version”)
.选择权(
“-c,--create”,
“创建用户”,
收藏,
[]
).parse(process.argv);
console.log('collect:%j',program.create);
这只在我使用如下
--create user,a,d,v
执行时起作用,它给出一个数组collect:[“user,a,d,v”]。关于如何使用Commander.js实现此功能的任何想法,请尝试以下脚本:

程序
.选项('-c,--create',create User')
.option('-un,--user name',Username');
program.parse(process.argv);
log(program.userName,`userName:${program.userName}`)
并从终端执行如下操作:

node command.js——创建用户——用户名=NameUser

我需要检查用户在标志
--create
之后输入的值/命令。在这种情况下,它将是
user
Ok,因此:
选项('-c,--create',create user')
注意,我在
--create
之后添加了一个选项,然后您可以使用类似于
程序的比较。create===“user”
或使用一个switch语句。小的更正,短选项标志仅为一个字符,因此
-u
-n
,而不是
-un
。我不确定是否理解您的意图。我假设从标题和代码中,您希望为
--create
提供多个值,看起来很接近,但是您的示例中的
--f-name
是什么?