Vue CLI 3 使用 Terser 删除 console.log 和代码注释

Vue CLI 3 remove console.log and code comments with Terser

我正在使用 VUE CLI 3,我需要从构建的产品中删除 console.log代码注释 .这是我的 Terser 设置:

webpack.config.jssrc 文件夹中

    module.exports = {
mode: 'production',
  optimization: {
    minimize: true,
    minimizer: [
      new TerserPlugin({
        terserOptions: {
          ecma: undefined,
          warnings: false,
          parse: {},
          compress: {drop_debugger},
          mangle: true, // Note `mangle.properties` is `false` by default.
          module: false,
          output: null,
          toplevel: false,
          nameCache: null,
          ie8: false,
          keep_classnames: undefined,
          keep_fnames: false,
          safari10: false,
        },
      }),
    ],
  },
};

我的制作流程:运行 npm run build -> cd dist -> npm run serve

生产版本仍然输出所有 console.log 语句并显示代码注释 (<!-- -->)。 我需要更改什么才能删除它们?

首先:确保您正确配置 Terser

terserOptions: {
    ecma: 6,
    compress: { drop_console: true },
    output: { comments: false, beautify: false }
}

npm run serve

通常是以下的快捷方式:

vue-cli-service

vue-cli-service --help

  Usage: vue-cli-service <command> [options]

  Commands:

    serve     start development server
    build     build for production
    inspect   inspect internal webpack config
    lint      lint and fix source files

所以当你的工作流程是上面提到的 npm run build -> cd dist -> npm run serve 那么你实际上是在启动开发服务器,它不适用 Terser。

为了 运行 生产版本,您可以使用任何 webserver 能够提供静态内容的服务:

NodeJs 示例:

npm install -g serve
serve -s dist

npm install -g node-static
static dist