与vue-cli2.0使用了uglifyjs-webpack-plugin插件进行优化配置不同,vue-cli3.0在打包过程中就使用了terser-webpack-plugin插件进行优化。
具体配置可以参考node_modules/@vue/cli-service/lib/config/prod.js
在 vue.config.js 中的 configureWebpack 选项提供一个对象会被 webpack-merge 合并入最终的 webpack 配置,vue.config.js配置如下:
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
config.optimization.minimizer[0].options.terserOptions.compress.warnings = false;
config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true;
config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true;
config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ['console.log'];
}
}
ps:
1.terser-webpack-plugin是@vue/cli-service的依赖包之一,所以不需要再次安装;
2.相关代码设置放在配置代码顶部
3.compress相关设置参考:https://github.com/terser/terser#compress-options