Node js commander args returns true 而不是值
Node js commander args returns true instead the value
我想用节点和节点指挥官创建一个脚本,当我尝试获取我的 args 的值时,我得到的是值 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
如何获取此参数的值?
documentation 不是很清楚,仅通过示例显示,但您使用的语法 ('-s, --src'
) 是针对布尔值的。
如果你想带一个字符串,你需要这样说:'-s, --src <item>'
您需要指定选项带有一个参数,并且它们不仅仅是一个标志
program
.version('0.0.1')
.option('-s, --src <file>', 'src csv file')
.option('-d, --destination <file>', 'destination csv file')
.parse(process.argv);
如果参数是强制性的,则用<>
指定。如果是可选的,用[]
。
您没有指定选项接受输入。您可以通过在选项定义中包含 <data>
或 [data]
(如果可选)来执行此操作:
.option('-s, --src <src>', 'src csv file')
.option('-d, --dest [dest]', 'destination csv file')
我想用节点和节点指挥官创建一个脚本,当我尝试获取我的 args 的值时,我得到的是值 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
如何获取此参数的值?
documentation 不是很清楚,仅通过示例显示,但您使用的语法 ('-s, --src'
) 是针对布尔值的。
如果你想带一个字符串,你需要这样说:'-s, --src <item>'
您需要指定选项带有一个参数,并且它们不仅仅是一个标志
program
.version('0.0.1')
.option('-s, --src <file>', 'src csv file')
.option('-d, --destination <file>', 'destination csv file')
.parse(process.argv);
如果参数是强制性的,则用<>
指定。如果是可选的,用[]
。
您没有指定选项接受输入。您可以通过在选项定义中包含 <data>
或 [data]
(如果可选)来执行此操作:
.option('-s, --src <src>', 'src csv file')
.option('-d, --dest [dest]', 'destination csv file')