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

时间:2019-10-09 15:49:20

标签: vue.js webpack build vue-cli-3 terser

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

webpack.config.js src 文件夹中

    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 语句并显示代码注释(<!-- -->)。 我需要更改哪些内容才能删除它们?

1 个答案:

答案 0 :(得分:2)

首先:确保正确配置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