首页 > 解决方案 > webpack和TerserPlugin:compress没有开启,但是输出是一行

问题描述

在 webpack 配置中,我使用 terser-webpack-plugin。我将 compress 属性设置为 false,但输出为一行。配置如下

const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
  //...
  optimization: {
    minimize: true,
    minimizer: [new TerserPlugin({
      sourceMap: true,
      terserOptions: {
        compress: false,
        mangle: true
      }
    }
    )]
  }
}

我要JS bundle多行无注释和mangle,怎么写webpack的配置?

版本:

标签: javascriptnode.jswebpack

解决方案


我只能断言,我也看不到这是如何工作的。也许 Webpack 的最小化覆盖了 Terser 的compress选项?

您可以通过“美化”输出来获得多行结果:

const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  optimization: {
    minimize: true,
    minimizer: [
      new TerserPlugin({
        sourceMap: true,
        terserOptions: {
          mangle: true,
          output: {
            beautify: true
          }
        },
      }),
    ],
  },
};

推荐阅读