vue或react项目生产环境去掉console.log
在开发环境写了很多console.log/info/debug,在生产环境需要去掉这些console。如果手动删除未免也太累了,再说以后想再开发还得重新写console。事实上webpack提供了删除console的插件,在vue-cli3里面是这样用的:首先安装terser-webpack-pluginnpm install terser-webpack-plugin -D然后在vu...
·
在开发环境写了很多console.log/info/debug,在生产环境需要去掉这些console。
如果手动删除未免也太累了,再说以后想再开发还得重新写console。
事实上webpack提供了删除console的插件,在vue-cli3里面是这样用的:
首先安装terser-webpack-plugin
npm install terser-webpack-plugin -D
然后在vue.config.js文件里写插件的配置:
module.exports = {
configureWebpack: (config)=>{
if(process.env.NODE_ENV === 'production'){
config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
}
}
}
————————————————————————
2020.1.14补充:
上面的写法是直接修改webpack的配置,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
}
}
})
]
}
}
}
}
}
————————————————————————
2020.4.22补充:
最近在做react项目的时候发现它的webpack的配置,也可以使用terser去掉console.log。
webpack.config.prod.js:
module.exports = {
optimization:{
minimizer: [
new TerserPlugin({
sourceMap:false,
terserOptions:{
compress:{
drop_console : true
}
}
})
]
}
}
更多推荐
已为社区贡献17条内容
所有评论(0)