使用 TailwindCSS 进行 PurgeCSS 白名单模式

问题描述 投票:0回答:6

我试图在通过 PurgeCSS 处理时保留所有 TailwindCSS 颜色类(即 bg-green、bg-red、text-green、text-red)。这些颜色类是在 CMS 中设置的,而不是在代码中设置的,因此我们无法在代码中搜索它们,因为它们(全部)不存在于此处。

因此我想使用 PurgeCSS 的白名单功能来保留所有以 'bg-' 或 'text-' 开头的类。然而,我下面的模式似乎并没有起到作用?有什么想法如何调整它吗?

whitelistPatterns: ['^bg\-', '^text\-'],
css tailwind-css css-purge
6个回答
17
投票

问题似乎只是使用正则表达式,而不是字符串。

whitelistPatterns: [/^bg-/, /^text-/], // Retain all classes starting with...

17
投票

如果您运行较新版本的 tailwind:whitelistwhitelistPatterns 合并到 safelist。这个信息花了我一天的时间来研究。

purge: {
  options: {
    safelist: ["bg-red-50"],
  },
  // ... or even
  options: {
    safelist: [/^bg-/, /^text-/]
  },

}

4
投票

在 TailwindCSS 版本 3.0.24 中,它的集成方式有点不同。

// tailwind.config.js 示例(请参阅我的 配置文件

module.exports = {
  content: [
    './pages/**/*.{html,js}',
    './components/**/*.{html,js}',
  ],
  safelist: [
    'text-2xl',
    'text-3xl',
    {
      pattern: /bg-(red|green|blue)-(100|200|300)/,
      variants: ['lg', 'hover', 'focus', 'lg:hover'],
    },
  ],
  // ...
}

来源:文档


3
投票
purge: {
  options: {
    safelist: ["whitelisted"],
  },
  // ...
}

2
投票

基于这个顺风文档,使用类似的东西可以解决我遇到的类似问题。 “+”用作通配符。

module.exports = {
 // ...
 safelist: [
   {
      pattern: /bg-+/
   },
   {
     pattern: /text-+/
   },
 ],
 // ...

1
投票

我是根据官方建议这样做的:

whitelistPatterns: [/\-blue\-/],
whitelistPatterns: [/\-pink\-/],
...etc

带有结束或开始的选择器不符合您的需求。 想想这个

.xl\:hover\:bg-pink-900:hover

或者这个

.xl\:bg-cover
© www.soinside.com 2019 - 2024. All rights reserved.