代码打包后,开发中写的很多打印信息或者断点,都会带上去,即影响美观,又影响性能,而生产大多不需要,故而需去除; 插件使用 terser 来压缩 JavaScript。我们项目主要用来去除生产环境中的console以及debugger等信息。 通过查阅后,经测试此方法可行,故记录,以便后续查看。
网站推荐:https://www.npmjs.com/package/terser-webpack-plugin
webpack其他相关给、推荐 一:webpack优化相关 1:webpack优化系列一:webpack不同环境打包配置 2:webpack优化系列二:Vue配置compression-webpack-plugin实现Gzip压缩 3:webpack优化系列三:vue子目录路径更改—publicPath 4:webpack优化系列四:vue打包后生成的chunk-vendors文件过大,利用SplitChunks插件,分离chunk 5:webpack优化系列五:vue项目配置 webpack-obfuscator 进行代码加密混淆
安装依赖
注意:版本需正确,否则报错
常见webpack安装版本
webpack4的安装方式
npm install terser-webpack-plugin --save-dev@4.2.3
webpack5的安装方式
npm install terser-webpack-plugin --save-dev
查看webpack应安装版本
查看网站
https://github.com/webpack-contrib/terser-webpack-plugin/tags
查看方式
terser-webpack-plugin git官网的tags的package.json上进行详细查看;
文件配置
配置项webpack.config.js
const TerserPlugin = require("terser-webpack-plugin")
minimizer: [
new TerserPlugin({
test: /\.js(\?.*)?$/i,
parallel: true,
extractComments: true,
sourceMap: config.build.productionSourceMap,
terserOptions: {
output: {
beautify: false,
comments: false
},
compress: {
warnings: false,
drop_console: true,
drop_debugger: true,
collapse_vars: true,
reduce_vars: true,
pure_funcs: ['console.log']
}
}
}),
]
配置项vue.config.js
const TerserPlugin = require("terser-webpack-plugin")
module.exports = {
configureWebpack:{
optimization: {
minimizer: [
new TerserPlugin({
terserOptions:{
compress:{
warnings: false,
drop_console: true,
drop_debugger: true,
pure_funcs: ["console.log"]
}
}
})
],
},
}
}
|