网站导航

Directives

扫描

包含或排除源文件与特定类名。

本页内容

文件策略决定从哪里读取候选项;候选策略决定哪些完整类字符串仍可使用。这些指令不会改变解析器,也不会将任意源文本转为有效工具类。配置与排错见扫描类名,支持的源语法与生命周期见提取。

文件选择与候选选择是不同筛选

排除 draft.html 会阻止其 flex 候选进入此源范围。阻止 hidden 是在收集后移除候选;安全列表的 block 则加入显式候选。

文字说明
  1. @source 包含 HTML 文件,@source not 排除 draft.html。仅 main.html 提供 grid 和 hidden 类字符串。
  2. @safelist "block" 不依赖源文件,直接加入完整候选项。
  3. @blocklist "hidden" 移除该候选项。最终可用集为 grid 和 block;flex 从未进入此范围。
  4. 文件与候选策略相互独立。具备候选资格不代表任意类字符串均有效;常规匹配与诊断仍会应用。

@source

常规应用源使用集成与 CLI 的默认发现方式。需要时再添加显式例外:

@source "../content/**/*.mdx";

@source not

从源集合中排除匹配文件:

@source not "../content/drafts/**";

{a,b} 这类花括号组展开为独立模式;单个模式最多包含 64 组花括号,且最多展开为 1,024 个模式。

所有包含项先取并集,再减去全部排除项。每个相对模式均以声明它的样式表为基准解析,包括裸 src/**、./src/**、导入文件及 @source not。引用不会提供扫描源。

解析文件的 API 必须提供声明文件或显式基准文件。仅检查源指令的操作可返回未解析元数据,但不得自行虚构文件系统基准。扫描器编程 API 的 cwd 选项对直接通过该 API 传入的扫描选项保持现有含义。

@safelist

添加无法以字面形式出现在扫描源中的完整类候选项:

@safelist "(opacity:1)";@safelist "bg-blue-60@dark";

候选项采用与发现的类相同的匹配和诊断策略。请让动态选项保持有限且明确。

要保留命名动画定义而不生成类或动画声明,请使用显式 关键帧目标:

@safelist keyframes "fade" "pop";

每个带引号字符串是一个完整 CSS 动画名称。名称区分大小写并支持 CSS 转义;字符串内空格是名称的一部分。不展开通配符或分割类。缺少名称、未加引号名称、逗号和嵌套安全列表指令均为错误。名称若不在完整导入/引用图中,会产生警告。安全列表在各入口图内合并,并在源或指令移除时撤回。@reference 不导入安全列表根节点。没有关键帧阻止列表,也没有独立的关键帧裁剪/保留目标。

@blocklist

使用完整字符串或 *、? 通配符模式,移除不需要的完整候选项:

@blocklist "debug-*";@blocklist "example-token";

样式表语法不会将斜杠包围的模式解释为正则表达式。通配符策略属于阻止列表;安全列表提供的是完整类。