启用Tailwind的purge选项可显著减小CSS体积,通过扫描文件删除未使用类,并支持safelist保留动态样式,仅在生产环境生效,需正确配置文件路径和处理动态类名以避免误删。
在使用 Tailwind CSS 的项目中
,样式文件体积往往较大,因为 Tailwind 默认生成大量实用类。PurgeCSS 可以扫描项目中的 HTML、JavaScript 等模板文件,自动删除未使用的 CSS,显著减小最终打包体积。结合 Tailwind 使用 PurgeCSS 是优化前端性能的关键步骤。
Tailwind v1.4+ 内置了对 PurgeCSS 的集成(新版本中称为“tree-shaking”),不再需要手动安装 PurgeCSS。你只需在 tailwind.config.js 中配置 purge 选项,指定需要扫描的文件路径:
示例配置:
module.exports = {
purge: [
'./index.html',
'./src/**/*.{js,jsx,ts,tsx,vue}'
],
theme: {
extend: {},
},
variants: {},
plugins: [],
}
PurgeCSS 会移除未使用的样式,影响开发时的预览效果,因此只应在生产构建时启用。
动态类名(如拼接字符串)可能被误判为未使用,导致样式丢失。
purge: {
content: ['./index.html', './src/**/*.{js,jsx,ts,tsx,vue}'],
options: {
safelist: ['text-red-500', 'bg-blue-600', 'hidden']
}
}
也可使用正则保留一类名称:
safelist: [
{ pattern: /text-(red|green|blue)-(500|600)/ },
{ pattern: /bg-(gray|indigo)-./ }
]
构建完成后,检查生成的 CSS 文件大小变化。
基本上就这些。只要配置正确,Tailwind + purge 能在不影响功能的前提下极大提升加载性能。不复杂但容易忽略的是路径匹配和动态类处理,务必仔细检查。