console.log 是项目开发时常用的调试语句,打包上线时,如果一个个处理非常麻烦。以下有俩种方案处理
一. webpack 方式
通过插件uglifyjs-webpack-plugin 自动去除
npm i -D uglifyjs-webpack-plugin
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const config = {
devServer: {
proxy: {
'/xxx': {
target: '',
changeOrigin: true,
ws: true,
pathRewrite: {
'^/xxx': 'xxx',
},
},
},
},
publicPath: './',
}
if (process.env.NODE_ENV === 'production') {
config.configureWebpack = {
plugins: [
new UglifyJsPlugin({
uglifyOptions: {
compress: {
drop_console: true,
},
},
}),
],
}
}
module.exports = config
二. 重写console.log 函数
在main.js (入口文件)中引入此函数重载
export function rewirteLog() {
console.log = (function (log) {
return process.env.NODE_ENV == 'development'? log : function() {}
}(console.log))
}
该方法进一步拓展,可为项目封装独特的打印样式,规范等