有時候希望代碼里面的debugger;或者console.log等在開發(fā)的時候有者瓷产,在正式環(huán)境的版本里面可以去掉索绪,最近弄vue也發(fā)現(xiàn)這樣的需求纵隔,可以使用TerserPlugin來做到
vue-cli默認已經(jīng)包含了TerserPlugin可以在vue.config.js里面直接配置漫雕,直接在vue.config.js增加就可以用了
const TerserPlugin = require('terser-webpack-plugin')
我的vue.config.js使用的是chainWebpack,在下面配置了
config.optimization.minimizer([new TerserPlugin({
terserOptions: {
mangle: true, // 混淆柠新,默認也是開的求摇,mangle也是可以配置很多選項的射沟,具體看后面的鏈接
compress: {
drop_console: true殊者,//傳true就是干掉所有的console.*這些函數(shù)的調(diào)用.
drop_debugger: true, //干掉那些debugger;
pure_funcs: ['console.log'] // 如果你要干掉特定的函數(shù)比如console.info ,又想刪掉后保留其參數(shù)中的副作用验夯,那用pure_funcs來處理
}
}
})])
對于console.log的去掉猖吴,之前有篇博客是比較簡單的方式干掉
正式環(huán)境版本去掉console.log的打印
terser-webpack-plugin相關(guān)的配置項和信息
https://github.com/terser/terser
https://webpack.docschina.org/plugins/terser-webpack-plugin/