問題原因 :配置生產(chǎn)去除 console.log 時出現(xiàn)了報錯
// vue.config.js
module.exports = {
optimization: {
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
drop_console: true,//console
drop_debugger: false,
pure_funcs: ['console.log']//移除console
}
}
})
]
}
}
出現(xiàn)報錯 UglifyJs
DefaultsError: warnings is not a supported option

image.png
找到vue.config.js加入sourceMap: false, parallel: true,
// vue.config.js
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
config.plugins.push(
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
drop_debugger: true, // console
drop_console: true,
pure_funcs:['console.log'] // 移除console
},
},
sourceMap: false,
parallel: true,
})
)
}
},
}
再次重新進行build打包
出現(xiàn)報錯 warnings is not a supported option

image.png
可見使用 uglifyjs-webpack-plugin 在這里無法實現(xiàn)去除控制臺的信息。
使用 terser-webpack-plugin 代替,實現(xiàn)生產(chǎn)去除 console.log
// vue.config.js
const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
configureWebpack: {
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
ecma: undefined,
warnings: false,
parse: {},
compress: {
drop_console: true,
drop_debugger: false,
pure_funcs: ['console.log'] // 移除console
}
},
}),
]
}
},
}
再重新打包就沒問題了