使用 TailwindCSS 清除 CSS 白名单模式

PurgeCSS whitelist patterns with TailwindCSS

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

因此我想使用 PurgeCSS 的 whitelisting feature 来保留所有以 'bg-' 或 'text-' 开头的 类。但是,我下面的模式似乎并不能解决问题?任何想法如何调整它?

whitelistPatterns: ['^bg\-', '^text\-'],

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

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

我是根据 official suggestion 这样做的:

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

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

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

或者这个

.xl\:bg-cover
purge: {
  options: {
    safelist: ["whitelisted"],
  },
  // ...
}

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

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

}

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

//示例tailwind.config.js(见我的config file

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'],
    },
  ],
  // ...
}

来源:Documentation