前端代码格式化工具 OXC 性能对比与迁移指南
由尤雨溪参与开发的 OXC 工具集(oxfmt 和 oxlint),对比了其与 Prettier 和 ESLint 的性能差异。oxfmt 格式化速度提升约 45 倍,oxlint 检查速度提升 50-100 倍。文章提供了安装方法、配置迁移指南及技术原理说明,指出该工具基于 Rust 实现,支持并行处理,适合大型项目及 CI/CD 场景,并给出了平滑迁移策略。

由尤雨溪参与开发的 OXC 工具集(oxfmt 和 oxlint),对比了其与 Prettier 和 ESLint 的性能差异。oxfmt 格式化速度提升约 45 倍,oxlint 检查速度提升 50-100 倍。文章提供了安装方法、配置迁移指南及技术原理说明,指出该工具基于 Rust 实现,支持并行处理,适合大型项目及 CI/CD 场景,并给出了平滑迁移策略。

| 工具 | 1000 个文件耗时 | 速度提升 |
|---|---|---|
| Prettier | 45 秒 | - |
| oxfmt | 1 秒 | 45 倍 |
对比 Biome:快 2-3 倍
| 工具 | 1000 个文件耗时 | 速度提升 |
|---|---|---|
| ESLint | 50-100 秒 | - |
| oxlint | 1 秒 | 50-100 倍 |
已完美兼容:Vite、Vue、React、Next.js、AntDesign
# 格式化文件
npx oxfmt@latest src/**/*.{js,ts,jsx,tsx}
# 检查代码
npx oxlint@latest src/**/*.{js,ts,jsx,tsx}
npm install -D oxlint oxfmt
然后在 package.json 里配置:
{
"scripts": {
"lint": "oxlint src/",
"lint:fix": "oxlint --fix src/",
"format": "oxfmt src/",
"format:check": "oxfmt --check src/"
}
}
{
"printWidth": 80,
"tabWidth": 2,
"semi": true,
"singleQuote": true
}
好消息:你的 .prettierrc 改个名就能用。
{
"rules": {
"no-console": "warn",
"no-debugger": "error",
"prefer-const": "error"
}
}
ESLint 用户:80% 的规则配置直接复制粘贴。
# 1. 卸载旧工具
npm uninstall prettier
# 2. 安装新工具
npm install -D oxfmt
# 3. 改个名字
mv .prettierrc .oxfmtrc.json
难度:低
# 1. 卸载旧工具
npm uninstall eslint
# 2. 安装新工具
npm install -D oxlint
# 3. 迁移配置
# 复制.eslintrc 规则到.oxlintrc.json
难度:中(配置稍微调整一下)
传统工具:JavaScript 单线程,像一个工人在搬砖。 OXC 工具:Rust 多线程,像施工队同时作业。
核心优势:
每天格式化次数:20 次
Prettier 耗时:20 × 45 秒 = 15 分钟/天
oxfmt 耗时:20 × 1 秒 = 0.3 分钟/天
每天节省:14.7 分钟
每年节省:90 小时(≈ 11 个工作日)
ESLint 检查:100 秒
oxlint 检查:1 秒
每次 CI 节省:99 秒
每天 CI 50 次:每天节省 82 分钟
OXC 工具集具备高性能、迁移友好、配置简单等特点。
下一步行动清单:
npx oxfmt@latest 体验秒级格式化从今天开始告别漫长的等待,迎接瞬间完成的高效开发体验。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online