vue项目启动vue.config.js报错:options should be one of these:object { resourceRegExp, contextRegExp? }
最近遇到一个问题vue项目在同事那里能正常运行,到我这里就报错:ERRORError loading D:\ideaProject\saas\basic-crm-vue\vue.config.js:ERRORValidationError: Invalid options object. Ignore Plugin has been initialized using an options obj
·
最近遇到一个问题vue项目在同事那里能正常运行,到我这里就报错:
ERROR Error loading D:\ideaProject\saas\basic-crm-vue\vue.config.js:
ERROR ValidationError: Invalid options object. Ignore Plugin has been initialized using an options object that does not match the API schema.
- options should be one of these:
object { resourceRegExp, contextRegExp? } | object { checkResource }
Details:
* options misses the property 'resourceRegExp'. Should be:
RegExp
-> A RegExp to test the request against.
* options misses the property 'checkResource'. Should be:
function
-> A filter function for resource and context.
最后在网上各种扒拉,各种找,终于找到了原因,猜测的原因可能是版本问题,写法不一样导致,记录如下:
同事的vue.config.js的写法:
// vue.config.js
const vueConfig = {
configureWebpack: {
name,
resolve: {
alias: {
"@": resolve("src"),
},
},
// webpack plugins
plugins: [
// Ignore all locale files of moment.js
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
],
// if prod, add externals
// externals: isProd ? assetsCDN.externals : {}
},
chainWebpack: (config) => {
config.resolve.alias
.set('@$', resolve('src'))
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.oneOf('inline')
.resourceQuery(/inline/)
.use('vue-svg-icon-loader')
.loader('vue-svg-icon-loader')
.end()
.end()
.oneOf('external')
.use('file-loader')
.loader('file-loader')
.options({
name: 'assets/[name].[hash:8].[ext]'
})
// if prod is on
// assets require on cdn
// if (isProd) {
// config.plugin('html').tap(args => {
// args[0].cdn = assetsCDN
// return args
// })
// }
},
css: {
loaderOptions: {
less: {
modifyVars: {
// less vars,customize ant design theme
// 'primary-color': '#F5222D',
// 'link-color': '#F5222D',
'border-radius-base': '2px'
},
// DO NOT REMOVE THIS LINE
javascriptEnabled: true
}
}
},
devServer: {
// development server port 8000
port
// If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
// proxy: {
// '/api': {
// target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro',
// ws: false,
// changeOrigin: true
// }
// }
},
// disable source map in production
productionSourceMap: false,
lintOnSave: false,
// babel-loader no-ignore node_modules/*
transpileDependencies: []
}
错就错在这个plugins的写法,同事的写法是:
plugins: [
// Ignore all locale files of moment.js
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
],
将这段代码改成:
plugins: [
new webpack.IgnorePlugin(
{
resourceRegExp:/^\.\/locale$/,
contextRegExp: /moment$/,
}
)
],
这样就好了,就可以正常运行了,具体是哪个东西版本不一致引起的,没有找到,有大神的话,请解惑,谢谢
更多推荐
已为社区贡献4条内容
所有评论(0)