扫描
包含或排除源文件与特定类名。
本页内容
文件策略决定从哪里读取候选项;候选策略决定哪些完整类字符串仍可使用。这些指令不会改变解析器,也不会将任意源文本转为有效工具类。配置与排错见扫描类名,支持的源语法与生命周期见提取。
文件选择与候选选择是不同筛选
排除 draft.html 会阻止其 flex 候选进入此源范围。阻止 hidden 是在收集后移除候选;安全列表的 block 则加入显式候选。
文字说明
- @source 包含 HTML 文件,@source not 排除 draft.html。仅 main.html 提供 grid 和 hidden 类字符串。
- @safelist "block" 不依赖源文件,直接加入完整候选项。
- @blocklist "hidden" 移除该候选项。最终可用集为 grid 和 block;flex 从未进入此范围。
- 文件与候选策略相互独立。具备候选资格不代表任意类字符串均有效;常规匹配与诊断仍会应用。
@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";样式表语法不会将斜杠包围的模式解释为正则表达式。通配符策略属于阻止列表;安全列表提供的是完整类。

