只有一个字符串允许使用minimit



下面是我从下面的代码中得到的结果。

问题

正如预期的那样,inputi都是真的,但为什么projectp不是呢?

它们的定义方式与CCD_ 5和CCD_。

$ bin/test --input -p           
{ _: [],
update: false,
u: false,
input: true,
i: true,
p: '',
project: '' }

代码是

'use strict'
var minimist = require('minimist')
module.exports = () => {
var argv = minimist(process.argv.slice(2), {
string: 'input',
string: 'project',
boolean: ['help'],
boolean: ['update'],
alias: { i: 'input', h: 'help', p: 'project', u: 'update' },
unknown: function () { console.log('Unkown argument') }
})
if (argv.input || argv.i) {
console.log(argv)
}
if (argv.project || argv.p) {
console.log(argv)
console.log('p')
}

对象中不能有重复的属性名(不幸的是,它们是允许的,不再抛出异常(。

您当前的代码相当于

var argv = minimist(process.argv.slice(2), {
string: 'project',
boolean: ['update'],
alias: { i: 'input', h: 'help', p: 'project', u: 'update' },
unknown: function () { console.log('Unkown argument') }
})

其中CCD_ 7未被定义为字符串参数,但CCD_

你想写的是

var argv = minimist(process.argv.slice(2), {
string: ['input', 'project'],
boolean: ['help', 'update'],
alias: { i: 'input', h: 'help', p: 'project', u: 'update' },
unknown: function () { console.log('Unkown argument') }
})

最新更新