VueCli打包时,使用 compression-webpack-plugin 进行压缩失败
1.我想打包后的代码可以支持gizp,所以我在 configureWebpack.plugins
添加了 CompressionWebpackPlugin
;
(以往我这么操作,都是可以成功的。我发现这个项目里,有设置chainWebpack
)
2.在生成环境下,提示 [Warning] Conflict: Multiple assets emit different content to the same filename js/.gz
;
3.打包后,仅在 dist/js
和 dist/css
文件夹中生成一个名为 .gz
的文件;
4.我删掉 chainWebpack
后,可以正确打包出gz文件的。
5.我也尝试将 CompressionWebpackPlugin
放在 chainWebpack
中,但是没有用。需要怎么做才能正确打包出gz文件?(不删除现在的功能)
module.exports = {
configureWebpack: {
plugins: [
new webpack.ContextReplacementPlugin(/moment[/]locale$/, /zh-CN/),
new CompressionWebpackPlugin({
filename: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp('.(' + ['js', 'css'].join('|') + ')$'),
threshold: 10240,
deleteOriginalAssets: false
})
]
},
chainWebpack: config => {
const svgRule = config.module.rule('svg');
svgRule.uses.clear();
svgRule
.use('babel-loader')
.loader('babel-loader')
.end()
.use('vue-svg-loader')
.loader('vue-svg-loader');
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过分析后发现:是 compression-webpack-plugin 插件升级了
"compression-webpack-plugin": "^6.0.0"
这个时候,只需要设置
filename: '[path][base].gz'
问题解决
我现在也是 cil4 打包 gzip 总是不成功 请问问题解决了吗
filename: "[file].gz[query]"
亲测可行!!!