下面是我从下面的代码中得到的结果。
问题
正如预期的那样,input
和i
都是真的,但为什么project
和p
不是呢?
它们的定义方式与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') }
})