常规是使用
const TerserPlugin = require('terser-webpack-plugin')
const terserUglifyPlugin = new TerserPlugin({
exclude: ['/node_modules/'],
terserOptions: {
parse: {},
compress: {
warnings: false,
drop_console: true,
drop_debugger: true
},
output: {
comments: false,
beautify: false
},
warnings: false
}
})
const minimizer = process.env.NODE_ENV === 'production' ? [terserUglifyPlugin] : []
module.exports = defineConfig({
lintOnSave: false,
transpileDependencies: true,
devServer: {
client: {
overlay: false,
},
},
configureWebpack: {
plugins: [
],
optimization: {
minimize: true,
minimizer: minimizer
},
resolve: {
}
}
})
但按上面配置,打包部署后,控制台依然存在console
解决方法:
// 在configureWebpack 同级加上
chainWebpack: (config) => {
if (process.env.NODE_ENV === 'production') {
config.optimization.minimizers.delete('terser'); // 删除默认的 TerserPlugin
}
},