依赖的插件

  1. npm install compression-webpack-plugin -D

使用

  1. const CompressionPlugin = require('compression-webpack-plugin')
  2. plugins:[
  3. new CompressionPlugin({
  4. filename"[path][base].gz",// 文件名
  5. algorithm: "gzip", // 压缩算法
  6. threshold0, // 只处理大于此大小的资产。以字节为单位。
  7. minRatio0.8, // 只处理压缩率大于此的资源
  8. deleteOriginalAssetsfalse,//是否删除原始资产
  9. })
  10. ]

针对不同算法的多个资产压缩版本

  1. const zlib = require("zlib");
  2. module.exports = {
  3. plugins: [
  4. new CompressionPlugin({
  5. filename: "[path][base].gz",
  6. algorithm: "gzip",
  7. test: /\.js$|\.css$|\.html$/,
  8. threshold: 10240,
  9. minRatio: 0.8,
  10. }),
  11. new CompressionPlugin({
  12. filename: "[path][base].br",
  13. algorithm: "brotliCompress",
  14. test: /\.(js|css|html|svg)$/,
  15. compressionOptions: {
  16. params: {
  17. [zlib.constants.BROTLI_PARAM_QUALITY]: 11,
  18. },
  19. },
  20. threshold: 10240,
  21. minRatio: 0.8,
  22. }),
  23. ],
  24. };