Tailwind CSS v4构建速度显著提升:完整构建从378ms降至100ms,增量构建由44ms压缩至5ms,无变更热重载达192µs;其Oxide引擎为Rust重写的全新底层,不依赖构建工具即可实现微秒级响应。

构建速度从毫秒级降到微秒级
Tailwind CSS v4 的 Oxide 引擎用 Rust 重写,不是 v3 的“升级”,而是全新底层。实测完整构建从 v3 的 378ms 缩短到 v4 的 100ms;增量构建(改一个类名)从 44ms 降到 5ms;无变更热重载压至 192µs(注意单位是微秒,不是毫秒)。这个速度不依赖 Vite,Webpack 用户也能直接受益。
自动 content 扫描只对标准 ESM 项目有效
v4 的“零配置”容易被误解——它默认靠构建工具(如 Vite 插件)劫持模块图来追踪类名来源,但仅限于 ./src/**/*.{js,jsx,ts,tsx} 这类标准路径。以下情况会失效,且静默漏样式:
- 用了
.astro、.svelte或服务端渲染的.html模板 - 类名通过字符串拼接生成,比如
className={base + ' ' + variant} - JSX 在 Markdown(
.mdx)或 Astro frontmatter 中动态写入
此时必须显式在 tailwind.config.js 中配 content 字段,否则 JIT 引擎找不到类名,hover:、dark: 等变体全都不生成。
@import "tailwindcss" 替代 @tailwind 指令后,preflight 不再静默加载
v3 中 @tailwind base 负责注入 preflight(*、box-sizing、表单重置等),v4 完全移除该指令,只认 @import "tailwindcss"。常见错误:
立即学习“前端免费学习笔记(深入)”;
- CSS 文件里还留着
@tailwind base—— 不报错,但 preflight 样式彻底丢失,页面排版崩坏 -
@import "tailwindcss"没放在index.css最顶行,被@layer或注释挡住 —— 加载失败 - 仍保留
postcss.config.js中的tailwindcss()插件 —— 与 v4 的 Vite 插件冲突,样式可能被跳过
Lightning CSS 严格模式下,非法语法直接中断构建
v4 默认启用 Lightning CSS,对 CSS 语法更敏感:
- 非标准嵌套(如
.parent { .child { color: red; } })会报错 - 非法
calc()表达式(如calc(100% - )缺操作数)导致构建失败 - 未定义的 CSS 变量(如
color: var(--missing))整条规则被丢弃,不回退 - OKLCH 色彩空间下,若仍用
rgb(255, 0, 0)写色值,brand-400/brand-600类不会推导生成
Oxide 是 Rust 黑盒,DevTools 里看不到 JS 函数溯源,出问题时没法像 v3 那样 debug 到具体 AST 节点 —— 这是性能换来的调试代价。


















