一、背景
在开发环境中我们喜欢用console.log测试代码,但是部署到生产环境我们不可能一个一个把console.log给手动删除了,而且一部分console可能暂时不想删除。但是直接发到生产环境就会比较难看,而且容易暴露相关信息。这个时候就需要配置生产环境去除console了。
二、babel-plugin-transform-remove-console
推荐使用babel的插件babel-plugin-transform-remove-console,这样babel在编译过程中会直接去除console语句。
去除生产环境的console步骤如下:
步骤一:安装插件
npm install babel-plugin-transform-remove-console -D
步骤二:在build/webpack.prod.conf.js文件中进行配置
1.在文件头部引入
//打包配置自动忽略console.log等
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
2. 配置这段代码
//打包环境去掉console.log等
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
drop_console: true, //注释console
drop_debugger: true, //注释debugger
pure_funcs: ['console.log'], //移除console.log
},
},
}),