提取器
PurgeCSS 可以根据你的需要进行调整。如果你注意到很多未使用的 CSS 没有被删除,你可能需要使用特定的提取器。
PurgeCSS 依赖提取器来获取文件中使用的选择器列表。有多种类型的文件可以包含选择器,例如 html 文件、pug 等模板文件,甚至 javascript 文件。
默认提取器
PurgeCSS 提供了一个默认提取器,该提取器适用于所有类型的文件,但可能有限,不完全适合你正在使用的文件类型或 CSS 框架。
默认提取器将文件中的每个单词都视为选择器。默认提取器有一些限制
- 不考虑特殊字符,例如
@
、:
、/
使用提取器
如果你注意到 PurgeCSS 没有删除足够的未使用的 CSS 或删除了已使用的 CSS,使用提取器可能很有用。
为扩展名使用特定提取器应该可以为你提供最佳准确性。如果你想专门清除 html 文件,你可能需要考虑使用 purgecss-from-html
提取器。
你可以通过在 PurgeCSS 配置文件中设置 extractors 选项来使用提取器。
import purgeJs from "purgecss-from-js";
import purgeHtml from "purgecss-from-html";
const options = {
content: [], // files to extract the selectors from
css: [], // css
extractors: [
{
extractor: purgeJs,
extensions: ["js"],
},
{
extractor: purgeHtml,
extensions: ["html"],
},
],
};
export default options;
创建提取器
提取器是一个简单的函数,它将文件的内容作为字符串获取,并返回一个选择器数组。按照惯例,npm 包的名称为 purgecss-from-[typefile]
(例如 purgecss-from-pug)。使用此惯例将允许用户通过搜索 purgecss-from
来查看 npm 上的提取器列表。
const purgeFromJs = (content) => {
// return array of css selectors
};
可用提取器列表(进行中)
警告
这些提取器仍处于开发中。不建议在生产中使用它们。
- purgecss-from-html:HTML 文件(.html)
- purgecss-from-jsx:JSX 文件
- purgecss-from-pug:Pug 文件(.pug)