PurgeCSS中文文档网PurgeCSS中文文档网
首页
文档
API参考
GitHub
首页
文档
API参考
GitHub
  • PurgeCSS

    • 关于PurgeCSS
    • 快速开始
    • 配置
    • 命令行接口
    • 编程API
    • 安全列表
    • 提取器
  • 插件

    • PostCSS插件
    • Webpack插件
    • Gulp插件
    • Grunt插件
    • Gatsby插件
  • 指南

    • Vue
    • React
    • Next.js
    • Nuxt.js
    • Razzle
    • WordPress
    • Hugo
  • 比较
  • 常见问题

    • 如何与CSS模块一起使用
    • 如何与Ant Design一起使用

提取器

PurgeCSS 可以根据你的需求进行调整。如果你注意到很多未使用的 CSS 没有被删除,你可能需要使用特定的提取器。

PurgeCSS 依赖提取器来获取文件中使用的选择器列表。有多种类型的文件可以包含选择器,如 HTML 文件、模板文件(如 Pug),甚至 JavaScript 文件。

默认提取器

PurgeCSS 提供了一个默认提取器,可以处理所有类型的文件,但可能受限且不完全适合你正在使用的文件类型或 CSS 框架。

默认提取器将文件的每个单词视为选择器。默认提取器有一些局限性:

  • 不考虑特殊字符,如 @、:、/

使用提取器

如果你注意到 PurgeCSS 没有删除足够的未使用 CSS 或删除了已使用的 CSS,使用提取器可能会很有用。

对于特定扩展名使用特定提取器应该能提供最佳准确性。如果你想专门清理 HTML 文件,你可能需要考虑 purgecss-from-html 提取器。

你可以在 PurgeCSS 配置文件中通过设置提取器选项来使用提取器。

import { purgeCSSFromPug } from "purgecss-from-pug";
import { purgeCSSFromHtml } from "purgecss-from-html";

const options = {
  content: [], // 提取选择器的文件
  css: [], // css
  extractors: [
    {
      extractor: purgeCSSFromPug,
      extensions: ["pug"],
    },
    {
      extractor: purgeCSSFromHtml,
      extensions: ["html"],
    },
  ],
};
export default options;

创建提取器

提取器是一个简单的函数,接受文件内容作为字符串,并返回选择器数组。按照惯例,npm 包的名称是 purgecss-from-[typefile](例如 purgecss-from-pug)。使用这个约定将允许用户通过搜索 purgecss-from 在 npm 上查看提取器列表。

该函数可以返回选择器(标签、类、ID)数组,或者为了更高的准确性,返回以下对象:

interface ExtractorResultDetailed {
  attributes: {
    names: string[];
    values: string[];
  };
  classes: string[];
  ids: string[];
  tags: string[];
  undetermined: string[];
}
const purgeFromJs = (content) => {
  // 返回 CSS 选择器数组
};

可用提取器列表(正在进行中)

注意

这些提取器仍在开发中。 尚不建议在生产中使用。

  • purgecss-from-html:HTML 文件 (.html)
  • purgecss-from-jsx:JSX 文件
  • purgecss-from-pug:Pug 文件 (.pug)
Edit this page
Prev
安全列表