首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CommanderJS我无法从选项中获取值

CommanderJS我无法从选项中获取值
EN

Stack Overflow用户
提问于 2021-02-08 21:08:43
回答 1查看 127关注 0票数 0

我用nodejs写了一个cli程序,使用了命令集工具,但是当我尝试的时候,它不能从process.argv获取值。请帮我解决这个问题。

代码语言:javascript
运行
复制
//cli.js
const program = require('commander');

program
     .version("0.0.1")
     .option("-a, --add", "add something")
     .option("-u, --update", "update something")
     .option("-r, --remove", "remove something")
    .parse(process.argv);

console.log(`version ${program.version} You Choose: `);

if (program.add) {
    console.log("  add something")
}
if (program.update) {
    console.log("  update something")
}
if (program.remove) {
    console.log("  remove something")
}

我跑步

代码语言:javascript
运行
复制
$ node cli.js --add
version version(str, flags, description) {
    if (str === undefined) return this._version;
    this._version = str;
    flags = flags || '-V, --version';
    description = description || 'output the version number';
    const versionOption = this.createOption(flags, description);
    this._versionOptionName = versionOption.attributeName();
    this.options.push(versionOption);
    this.on('option:' + versionOption.name(), () => {
      this._outputConfiguration.writeOut(`${str}\n`);
      this._exit(0, 'commander.version', str);
    });
    return this;
  } You Choose:

无法获取价值,这是为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-09 17:13:39

您需要使用opts函数来访问解析后的参数。版本将自动显示,并带有-V标志。

代码语言:javascript
运行
复制
const program = require('commander');

program
     .version("0.0.1")
     .option("-a, --add", "add something")
     .option("-u, --update", "update something")
     .option("-r, --remove", "remove something")
    .parse(process.argv);
let options = program.opts();


if (options.add) {
    console.log("  add something")
}
if (options.update) {
    console.log("  update something")
}
if (options.remove) {
    console.log("  remove something")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66102275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档