output.minify

  • 类型:
type Minify =
  | boolean
  | {
      js?: boolean;
      jsOptions?: SwcJsMinimizerRspackPluginOptions;
      css?: boolean;
      cssOptions?: LightningCssMinimizerRspackPluginOptions;
    };
  • 版本: >= 0.4.11
  • 默认值: true

用于设置是否在生产环境下开启代码压缩,或是配置压缩工具的选项。

默认情况下,JS 和 CSS 代码会在生产环境构建时被自动压缩,从而提升页面性能。如果你不希望执行代码压缩,可以将 minify 设置为 false 关闭对所有代码的压缩。或者可以通过 minify 选项的详细配置来控制代码压缩的行为。

下面是各个字段的说明:

  • js: 是否开启对 JavaScript 代码的压缩。
  • jsOptions: JS 代码压缩配置,将会与默认配置合并传给 SWC。
  • css: 是否开启对 CSS 代码的压缩。
  • cssOptions: CSS 代码压缩配置,将会与默认配置合并传给 Lightning CSS。

示例

禁用所有压缩

export default {
  output: {
    minify: false,
  },
};
TIP

该配置项通常用于代码调试和问题排查,不建议在生产环境禁用代码压缩,否则会导致页面性能显著下降。

禁用 JavaScript 压缩

export default {
  output: {
    minify: {
      js: false,
    },
  },
};

JavaScript 压缩选项

output.minify.jsOptions 用于配置 SWC 的压缩选项,具体配置项请参考 SWC 文档。如下配置将覆盖默认配置,关闭代码混淆和移除 console 语句。

export default {
  output: {
    minify: {
      jsOptions: {
        mangle: false,
        compress: {
          drop_console: false,
        },
      },
    },
  },
};

CSS 压缩选项

output.minify.cssOptions 用于配置 Lightning CSS 的压缩选项,具体配置项请参考 LightningCssMinimizerRspackPlugin 文档

export default {
  output: {
    minify: {
      cssOptions: {
        errorRecovery: false,
      },
    },
  },
};