Node js命令器args返回true而不是值
Node js commander args returns true instead the value
我想创建一个带有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);
如果参数是强制性的,则使用<>
指定。如果是可选的,则使用[]
。
相关文章:
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- 通过AJAX从具有LazyLoadingEnabled=true的EF返回的数组不正确
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- Backbone.js集合.Create函数没有使用wait: true返回更新后的模型
- Sequelize:调用.get({plain: true}))返回.get不是函数
- 在if语句中为true, true返回false
- 固定脚和外高度(true)返回值