一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。
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 转换插件。
收录于专题
标签
常见问题
- 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 数据每日更新。
相关项目
4万+2 本周1368GoMIT更新于 3个月前
用 Rust 编写的高性能 JavaScript/TypeScript 工具集,包含解析器、代码检查、格式化、转换、压缩和模块解析。
2.3万+81 本周1444RustMIT更新于 15小时前
基于 Rust 的快速 Web 打包工具,提供兼容 webpack 的 API,可直接替换 webpack。
1.3万+5 本周881RustMIT维护活跃更新于 20小时前
一个零配置的 Web 构建工具,无需配置文件即可打包 HTML、CSS、JavaScript 和各类静态资源。
4.4万+2 本周2393JavaScriptMIT更新于 昨天
一款前端构建工具,基于原生 ES 模块提供快速开发服务器与即时热更新,并可打包生产环境资源。
8.4万+160 本周9230TypeScriptMIT维护活跃更新于 22小时前
一个用 JavaScript 插件转换 CSS 的工具,可用于检查、补全前缀、嵌套、压缩样式等。
2.9万1656TypeScriptMIT维护活跃更新于 16小时前