配置
chainWebpack: config => {
config.module
.rule('images')
.use('url-loader')
.loader('url-loader')
.tap(options => Object.assign(options, { limit: 2000, esModule: false })); // 配置线上图片转base64。 app 已有做浏览器缓存。转换过大,会加大首屏加载时长
}
这是因为file-loader默认采用ES模块语法,即import ‘…/image.png’;然而Vue生成的是CommonJS模块语法,即require(’…/image.png’);二者不一致。要么让file-loader或url-loader采用CommonJS语法,要么让Vue采用ES语法。
esModule: false