Javascript 最小值列表中只允许一个字符串?
下面是我从下面的代码中得到的信息 问题Javascript 最小值列表中只允许一个字符串?,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,下面是我从下面的代码中得到的信息 问题 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('minimi
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')
}
对象中不能有重复的属性名(遗憾的是,不再引发异常) 您当前的代码相当于
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') }
})
对象不能有两个
.string
属性和两个.boolean
属性。你的衣帽匠应该对此抱怨的。