使用命令获取多个命令选项

Get multiple command option using commander

我正在使用 Nodejs 和 commander 创建一个 CLI,我需要像这样实现一个 option/command。

--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 );

只有当我像这样执行 --create user,a,d,v 并且它给出一个数组 collect: ["user,a,d,v"] 时才有效。关于如何使用 Commander.js

实现这个的任何想法

试试这个脚本:

program
  .option('-c, --create', 'Create User')
  .option('-un, --user-name <type>', 'Username');
  
program.parse(process.argv);

console.log(program.userName, `userName: ${program.userName}`)

然后从终端执行:

node command.js --create user --user-name=NameUser