Node js命令器args返回true而不是值

Node js commander args returns true instead the value

本文关键字:true 返回 js 命令 args Node      更新时间:2024-04-12

我想创建一个带有node和node commander的脚本,当我试图获取参数的值时,我会得到值true,而不是值本身。

例如,如果我在终端中写这个:

node myfile.js -s somefile -d test
var program = require('commander');
program
  .version('0.0.1')
  .option('-s, --src', 'src csv file')
  .option('-d, --destination', 'destination csv file')
  .parse(process.argv);
console.log(program.src); // return true
console.log(program.destination); // return true

如何获取此参数的值?

文档不是很清楚,仅通过示例显示了这一点,但您使用的语法('-s, --src')用于布尔值。

如果你想取一个字符串,你需要这样说:'-s, --src <item>'

您没有指定选项接受输入。您可以通过在选项定义中包括<data>[data](如果可选)来完成此操作:

.option('-s, --src <src>', 'src csv file') .option('-d, --dest [dest]', 'destination csv file')

您需要指定选项采用参数,并且它们不仅仅是标志

program
  .version('0.0.1')
  .option('-s, --src <file>', 'src csv file')
  .option('-d, --destination <file>', 'destination csv file')
  .parse(process.argv);

如果参数是强制性的,则使用<>指定。如果是可选的,则使用[]