vue如何在打生产环境包时去除console信息

如何在打生产环境包时去除console信息

方法一、修改node_modules中的@vue包下关于terserOptions的配置

配置路径为node_modules/@vue/cli-service/lib/config/terserOptions.js

在compress对象中加上 drop_console: true 即可在打生产环境包时去除所有的 console。若不想删除所有的console信息,只是想删除console.log,则配置compress对象中的 pure_funcs 字段为 [“console.log”]。

方法二、在vue.config.js中直接修改webpack配置

既然核心方法是在webpack打包时利用terser插件实现去除console的效果,那么直接在vue.config.js中配置webpack即可

// 引入terser插件
const TerserPlugin = require("terser-webpack-plugin");
// 使用configureWebpack字段配置webpack
module.exports = {
  // 下面两种配置方式选一即可
  // 一、配置式
  configureWebpack: {
    optimization: {
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            compress: {
              pure_funcs: ["console.log"]
            }
          }
        })
      ]
    }
  },
  // 二、链式操作
  chainWebpack: config => {
    config.optimization.minimizer([new TerserPlugin({
      terserOptions: {
        compress: {
          pure_funcs: ["console.log"]
        }
      }
    })])
  }
};