在开发环境写了很多console.log/infi/debugger,在生产环境需要去掉这些console.log。如果手动删除太累了,再说,以后想在开发还得重新写console
webpack提供了删除console.log的插件,在vue-cli3中是这样用的:
首先安装terser-webpack-plugin
npm install terser-webpack-plugin -D
vue.config.js 写插件的配置(此处是直接修改webpack的配置):
module.exports = {
configureWebpack: (config)=>{
if(process.env.NODE_ENV === 'production'){
config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
}
}
}
vue官方文档里说也可以返回一个将会被合并的对象:
const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
configureWebpack: (config)=>{
if(process.env.NODE_ENV === 'production'){
// 返回一个将会被合并的对象
return {
optimization:{
minimizer: [
new TerserPlugin({
sourceMap:false,
terserOptions:{
compress:{
drop_console : true
}
}
})
]
}
}
}
}
}