配了八年 Prettier,今天才发现它的「替身」比它快 30 倍——这件事把前端格式化的账彻底变了
你格式化代码的时候,有没有等 Prettier 跑完的经历?等就对了。大型 monorepo 里,Prettier 一次跑几分钟不是稀奇事。每次保存都要等 CI 跑半天,那几分钟乘以每天几百次 commit,加起来就是一笔时间债。
这件事,2026 年终于有解了。
Oxfmt Beta——30 倍速 Prettier 替身
Oxfmt 是 Oxc 工具链里的格式化组件,基于 Rust 构建,2026 年 2 月正式发布 Beta 版本。它有几个数字很反直觉:
- 比 Prettier 快 30 倍(无缓存首次运行)
- 比 Biome 快 3 倍(同样基于 Rust)
- 100% 通过 Prettier 的 JS/TS conformances 测试(Biome 只有 97%)
- 单命令安装迁移:
pnpm add -D oxfmt && pnpm oxfmt --migrate prettier && pnpm oxfmt
这不是 PPT 里的数字。Bytes.dev 的评测显示,Oxfmt 已经在生产环境被 Vue、Turborepo、Sentry(Hugging Face)、OpenClaw 等项目采用。Sentry 团队在 GitHub 上开了 PR,标题就叫「Migrate from Prettier to oxfmt」。
为什么 30 倍速这件事真的能发生?
传统 Prettier 慢,有两个根因:
第一,JavaScript 本身慢。Prettier 用 Node.js 跑,单线程,解析器是 JavaScript 写的。Oxfmt 的解析器是 Rust 写的,Oxc 项目自研的 parser 在 M3 Max 上跑 typescript.js:Oxc 26.3ms vs SWC 84.1ms vs Biome 130.1ms。解析这一步就已经快了 5 倍。
第二,每次格式化都是独立运行,不共享 AST。Oxfmt 和 Oxlint、Oxc 全套工具共享同一个解析器结果,你跑 lint 的时候不需要重新解析,格式化同理。工具链内部零重复劳动。
Oxfmt 不只是快,它还补了 Prettier 的几个短板:
内置 import 排序——不需要 prettier-plugin-import-sort,配置里直接指定分组和空行规则,sideEffects 和普通 import 的分组逻辑完全可自定义。
内置 Tailwind CSS 排序——不需要 prettier-plugin-tailwindcss,Oxfmt 原生处理 JS/TS 和非 JS 文件里的 Tailwind class 排序。
一个工具格式化全链路——JS、TS、JSX、TSX、JSON、YAML、TOML、HTML、CSS、SCSS、Markdown、MDX,不需要一个 Prettier 加四个插件拼凑。
迁移成本到底有多低?
Sentry 的工程师在 PR 里写得很有意思:「Config migration is minimal as Prettier JSON configs carry over with a rename.」把 .prettierrc 改成 .oxfmtrc.json,规则几乎不用动。
Oxfmt 团队还专门提到,他们发现并报告了 Prettier 本身的几个 bug,在迁移过程中帮 Prettier 修 upstream。这种做法让两个工具的输出完全对齐,你迁移完不会有几千行 diff。
什么时候该切,什么时候再等等?
Beta 阶段已知限制:HTML 和 Ember 模板文件的格式化还有 alpha 阶段的 bug,可能有边缘情况不一致。Vue Svelte 等框架文件的深度集成还在完善中(预计 2026 年内支持)。
如果你的项目:
- 大型 monorepo,CI 格式化步骤经常超时
- 已经用了 Oxlint 做 linting(工具链统一,性能最优)
- 对 Prettier 依赖不深,主要是 JS/TS 格式化
Oxfmt 现在就可以上,一个命令验证输出 parity,没有心理负担。
如果你的项目重度依赖 Prettier 插件生态(比如很多非标准格式的自定义插件),或者团队暂时没有迁移带宽,Prettier v10 本身也在持续更新,不着急。
下一步怎么走?
建议先用 npx oxfmt --migrate prettier . 跑一下,看看有多少文件需要改,diff 量是不是真的只有重命名配置的那点。如果你的代码库在 10 万行以内,这个迁移半天就能做完,收益是每天 CI 节省几分钟的格式化时间,加上每次保存时即时的响应。
前端工具链的 Rust 化,从 esbuild 到 SWC 到 Rolldown 到 Oxc,每一步都有人说「快了但还不成熟」。Oxfmt Beta 是第一个让我觉得「真的可以切了」的节点——不是因为它快,而是因为它快的同时做到了 100% 兼容,把迁移成本抹平了。这才是工具替换最难的关卡。
评论区
登录后可评论。