Repolode
parcel-bundler

parcel-bundler/lightningcss

用 Rust 编写的极速 CSS 解析、转换与压缩工具,可配合 Parcel 使用,也可作为库、CLI 或插件调用。

Star
7,728
Fork
321
未关闭 Issue
442
最近提交
3天前

这是什么?

Lightning CSS 用于解析、转换和压缩 CSS,可以通过 Parcel 使用,也可以作为独立的 JavaScript 或 Rust 库、命令行工具使用,或封装为其他构建工具的插件。

它按照 CSS 语法规范解析属性值,每个属性都有对应的具体值类型,而不是笼统的 token 列表。根据目标浏览器,它会自动添加或移除厂商前缀,并将 CSS 嵌套、color-mix()、lab()/oklch() 等新语法降级为兼容性更好的写法,同时进行多种体积优化,且输出行为与输入保持一致。

此外,它支持部分 CSS Modules 功能,包括局部作用域的类名、keyframes 和 CSS 变量,以及 composes、:local() 与 :global() 选择器。也可以按需读取 browserslist 配置来确定目标浏览器。

核心功能

  • 01解析和压缩大型 CSS 文件通常只需毫秒级时间。
  • 02根据浏览器目标自动添加或移除厂商前缀。
  • 03将 CSS 嵌套、颜色函数等新语法降级为旧浏览器可用的写法。
  • 04在不改变行为的前提下合并、缩短并规范化 CSS 值。
  • 05支持 CSS Modules,包括局部作用域类名和 composes。

适用场景

  • 在 Parcel 或其他打包流程中压缩生产环境 CSS。
  • 针对指定的浏览器支持范围自动补全前缀并降级现代 CSS 语法。
  • 在组件化应用中使用 CSS Modules 实现类名作用域隔离。
  • 借助 visitor API 实现自定义的 CSS 转换插件。

收录于专题

标签

#css#minifier#bundler#rust#autoprefixer#css-modules#build-tool#compiler#parser

常见问题

lightningcss 是什么?
用 Rust 编写的极速 CSS 解析、转换与压缩工具,可配合 Parcel 使用,也可作为库、CLI 或插件调用。 Lightning CSS 用于解析、转换和压缩 CSS,可以通过 Parcel 使用,也可以作为独立的 JavaScript 或 Rust 库、命令行工具使用,或封装为其他构建工具的插件。
lightningcss 可以免费使用吗?用的什么许可证?
lightningcss 以 MPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
lightningcss 还在维护吗?
活跃维护中。lightningcss 最近一次提交是在 2026年11月4日。
lightningcss 适合用来做什么?
在 Parcel 或其他打包流程中压缩生产环境 CSS。 针对指定的浏览器支持范围自动补全前缀并降级现代 CSS 语法。 在组件化应用中使用 CSS Modules 实现类名作用域隔离。 借助 visitor API 实现自定义的 CSS 转换插件。
在哪里获取 lightningcss?
源代码和安装说明在 GitHub 上:https://github.com/parcel-bundler/lightningcss

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目