webpack5在生产环境屏蔽掉控制台打印 失效处理

常规是使用

javascript 复制代码
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

解决方法:

javascript 复制代码
 // 在configureWebpack 同级加上
  chainWebpack: (config) => {
    if (process.env.NODE_ENV === 'production') {
      config.optimization.minimizers.delete('terser'); // 删除默认的 TerserPlugin
    }
  },
相关推荐
范文杰1 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪2 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪2 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy2 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom3 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom3 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom3 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom3 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom3 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试
LaoZhangAI4 小时前
2025最全GPT-4o图像生成API指南:官方接口配置+15个实用提示词【保姆级教程】
前端