下面是我从下面的代码中得到的输出。
问题
正如预期的那样,input和i都是真的,但是为什么project和p不是
它们的定义与input和i完全相同。
$ 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')
}发布于 2020-04-27 10:39:36
对象中不能有重复的属性名(不幸的是,they are allowed不再抛出异常)。
当前代码等效于
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') }
})其中,input不是定义为字符串参数,而是定义为project。
你想写的是
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') }
})https://stackoverflow.com/questions/61456824
复制相似问题