Skip to content

配置 UnoCSS

配置

配置使 UnoCSS 功能强大。

  • 规则 - 定义原子级 CSS 工具类
  • 快捷方式 - 将多个规则组合成一个快捷方式
  • 主题 - 定义主题变量
  • 变体 - 为规则应用自定义约定
  • 提取器 - 定义从何处以及如何提取工具类的使用情况
  • 预设样式 - 定义全局原始 CSS
  • 层级 - 定义各工具层级的顺序
  • 预设 - 常见用例的预设配置
  • 转换器 - 对用户源代码进行转换以支持约定
  • 自动补全 - 定义自定义自动补全建议

选项

规则

  • 类型: Rule<Theme>[]

用于生成 CSS 工具类的规则。后定义的规则具有更高优先级。

快捷方式

  • 类型: UserShortcuts<Theme>

类似于 Windi CSS 的快捷方式,允许您通过组合现有规则来创建新的工具类。后定义的规则具有更高优先级。

主题

  • 类型: Theme

在规则间共享配置的主题对象。

extendTheme

  • 类型: Arrayable<ThemeExtender<Theme>> 自定义函数可修改主题对象。

也可以返回一个新的主题对象以完全替换原始主题。

变体

  • 类型: Variant<Theme>[]

预处理选择器的变体,具有重写 CSS 对象的能力。

提取器

  • 类型: Extractor[]

用于处理源文件并提取可能的类/选择器的提取器,支持语言感知。

预设样式

  • 类型: Preflight<Theme>[]

原始 CSS 注入。

层级

  • 类型: Record<string, number>

层级顺序,默认值为 0。

outputToCssLayers

  • 类型: boolean | UseCssLayersOptions
  • 默认值: false

将层级输出为 CSS 级联层。

cssLayerName

  • 类型: (internalLayer: string) => string | undefined | null

指定内部层级应输出到的 CSS 层名称(可为子层,例如 "mylayer.mysublayer")。

如果返回 undefined,则使用内部层级名称作为 CSS 层名称。 如果返回 null,则内部层级不会输出到 CSS 层中。

sortLayers

  • 类型: (layers: string[]) => string[]

用于自定义排序层级的函数。

预设

  • 类型: (PresetOrFactory<Theme> | PresetOrFactory<Theme>[])[]

常见用例的预定义配置。

转换器

  • 类型: SourceCodeTransformer[]

对源代码进行自定义转换的转换器。

blocklist

  • 类型: BlocklistRule[]

用于排除设计系统中选择器的规则(以缩小匹配范围)。结合 warnExcluded 选项还可以帮助识别错误用法。

safelist

  • 类型: string[]

始终包含的工具类。

preprocess

  • 类型: Arrayable<Preprocessor>

预处理传入的工具类,返回假值则排除该工具。

postprocess

  • 类型: Arrayable<Postprocessor>

对生成的工具对象进行后处理。

separators

  • 类型: Arrayable<string>
  • 默认值: [':', '-']

变体分隔符。

extractorDefault

  • 类型: Extractor | null | false
  • 默认值: import('@unocss/core').defaultExtractor

始终应用的默认提取器。默认情况下,它通过空格和引号拆分源代码。

该值可能会被预设或用户配置覆盖,默认仅存在一个默认提取器,后定义的将覆盖先前的。 传递 nullfalse 可禁用默认提取器。

autocomplete 自动补全

自动补全的附加选项。

templates

  • 类型: Arrayable<AutoCompleteFunction | AutoCompleteTemplate>

提供自动补全建议的自定义函数/模板。

extractors

  • 类型: Arrayable<AutoCompleteExtractor>

用于提取可能的类,并将类名风格建议转换为正确格式的自定义提取器。

shorthands

  • 类型: Record<string, string | string[]>

为自动补全提供自定义快捷方式。若值为数组,则会使用 | 拼接并用 () 包裹。

content 内容

用于提取为工具类使用的源的选项。

支持的源:

  • filesystem - 从文件系统中提取
  • plain - 从普通内联文本中提取
  • pipeline - 从构建工具(如 Vite 和 Webpack)的转换管道中提取

从每个源提取的用法将被合并在一起。

文件系统

  • 类型: string[]

除了其他内容源之外,用于从文件系统中提取的 glob 模式。

在开发模式下,这些文件会被监视并触发 HMR。

内联

  • 类型: string | { code: string; id?: string } | (() => Awaitable<string | { code: string; id?: string }>)[]

要提取的内联文本。

pipeline 管道

用于确定是否从构建工具的转换管道中提取特定模块的过滤器。

目前仅适用于 Vite 和 Webpack 集成。

设置为 false 可禁用。

include 包含规则
  • 类型: FilterPattern
  • 默认值: [/\.(vue|svelte|[jt]sx|mdx?|astro|elm|php|phtml|html)($|\?)/]

用于过滤被提取文件的模式,支持正则表达式和 picomatch glob 模式。

exclude 排除规则
  • 类型: FilterPattern
  • 默认值: [/\.(css|postcss|sass|scss|less|stylus|styl)($|\?)/]

用于过滤不被提取文件的模式,支持正则表达式和 picomatch glob 模式。

默认情况下,node_modulesdist 下的文件也会被提取。

configResolved

  • 类型: (config: ResolvedConfig) => void

用于修改解析后配置的钩子函数。预设最先运行,然后是用户配置。

configFile

  • 类型: string | false

从配置文件加载配置。 设置为 false 可禁用。

configDeps

  • 类型: string[]

同时会触发配置重载的文件列表。

cli

UnoCSS CLI 选项。

entry 入口

  • 类型: Arrayable<CliEntryItem>

UnoCSS CLI 的入口点。

patterns 模式
  • 类型: string[]

用于从文件系统中提取的 glob 模式。

outFile 输出文件
  • 类型: string

输出文件路径。

shortcutsLayer

  • 类型: string
  • 默认值: 'shortcuts'

快捷方式的层级名称。

envMode

  • 类型: 'dev' | 'build'
  • 默认值: 'build'

运行环境模式。

details

  • 类型: boolean

暴露内部细节以便调试或检查。

warn 警告

  • 类型: boolean
  • 默认值: true

当匹配到的选择器出现在屏蔽列表中时会触发警告。

Released under the MIT License.