Tailwind 3 应当使用何种PurgeCSS提取器?
Tailwind 3 PurgeCSS提取器使用方案
- Tailwind 3 已内置JIT引擎,自带全链路的样式扫描、按需生成能力,不需要额外配置第三方PurgeCSS提取器。你只需要在
tailwind.config.js的content字段中正确配置需要扫描的业务文件路径,官方内置的修剪逻辑完全适配Tailwind 3的所有语法,不会出现样式误删问题。 - Tailwind 2版本的内部提取器本身不属于公开API,被移除是正常版本迭代结果,不建议开发者私自复制内部代码作为自定义提取器使用,会存在严重的版本兼容问题。
- 你遇到的全局伪元素样式被错误删除的问题,本质是自定义提取器的匹配规则不完善:旧提取器无法识别带冒号的伪元素选择器、
--tw-*前缀的CSS变量规则,导致:before、:after对应的样式被误筛,这一问题在高度依赖CSS变量与伪元素实现样式的Tailwind 3中影响尤其严重。 - 如果你确实有单独使用PurgeCSS处理Tailwind输出结果的特殊需求,可使用适配Tailwind 3语法的提取器正则:
// PurgeCSS配置中的提取器规则 defaultExtractor: (content) => content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || []
该正则可以正确匹配包含伪元素标识的选择器,不会错误过滤全局基础样式,解决你遇到的样式丢失问题。
你遇到的错误转换示例如下:
待处理的原样式:
*, :after, :before { border: 0 solid; box-sizing: border-box; } :after, :before { --tw-content: ""; }
旧提取器输出的异常结果:
* { border: 0 solid; box-sizing: border-box; }

内容的提问来源于stack exchange,提问作者Fred Hors
相关产品推荐
相关产品推荐

