赞
踩
本地修改了项目单页构建的规则,结果提交代码时git pre-commit的钩子触发了vue-cli-service lint,表示校验不通过,并报
ERROR Invalid options in vue.config.js: child "outputDir" fails because ["outputDir" is not allowed to be empty]
项目是多个单页通过build传参分开构建的,从"outputDir" is not allowed to be empty可以看出是vue.config.js配置里的outputDir传了个空值,可能是lint默认会将package.json里的script都走一遍。
给outputDir设置默认值
Q:原来的构建也需要传参,为什么以前的构建能通过呢?
A:先贴一段修改之后的代码
getOutputDir(project) {
let globPath = `./src/pages/${project}/**/main.js`
let p = ''
console.log(globPath)
glob.sync(globPath).forEach(function (entry) {
const paths = entry.split('/') || []
// 单页名,如ground-push,register...
let [a, b, c, ...ps] = paths
console.log('paths:',paths, ps)
console.log('outputDir:', `dist/${ps.slice(0, ps.length - 2).join('/')}`)
p = `dist/${ps.slice(0, ps.length - 2).join('/')}`
})
console.log('outputDirs:', p)
return p
}
再贴一段修改之前的:
{
outputDir: `dist/${project}`
}
可以看出,虽然project(构建参数)为undefined,但这个字符串是有值的,而且后面试了,将outputDir设置为undefined或者null都可以lint通过,唯独上面的方法,在project为undefined时,返回的是空字符串,此时是不通过的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。