官方文档

主要作用

css压缩的规则

  • 删除注释
  • 属性简写,如色彩值为#ffffff简写就是#fff,长度为0可不带单位
  • 属性合并,例如margin: 10px 10px合并为margin: 10px
  • 等等等等

webpack 默认自带的 minimizer 压缩 ,可能会出现一些配置上的冲突。例如,两者都尝试压缩 CSS 文件,可能会导致冲突或重复的操作。
MiniCssExtractPlugin配合,将 css 拆分,减少单个文件的加载压力
css 的 tree-shaking 通过purgecss-webpack-plugin来实现

webpack5 js 压缩冲突

在 webpack5 中,不需要手动引入 uglify 插件,只需配置modeproduction就可以压缩 js 代码。
但是,如果用了css-minimizer-webpack-plugin插件去压缩 css 文件,js 的压缩就会失效。

解决方法

使用terser-webpack-plugin插件去压缩 js 代码

const TerserPlugin = require("terser-webpack-plugin");
 
new TerserPlugin({ test: /\.js$/ });