OxLint 与 Biome
问题
OxLint 和 Biome 如何重塑前端代码质量工具?
答案
OxLint
OxLint 是 OxC 项目的 Linter,用 Rust 编写,比 ESLint 快 50-100 倍:
关于前端 Lint 规范,可参考 代码规范与 Lint。
| 维度 | ESLint | OxLint |
|---|---|---|
| 语言 | JavaScript | Rust |
| 速度 | 1x | 50-100x |
| 规则数 | 300+ | 400+(持续增加) |
| 插件 | 丰富(React、Vue 等) | 内置常用规则 |
| 自定义规则 | JS 编写 | 暂不支持 |
| 定位 | 全功能 Linter | ESLint 的渐进增强补充 |
# 安装和使用
npx oxlint@latest src/
# 输出比 ESLint 快 50-100 倍
OxLint 的定位是与 ESLint 共存:先跑 OxLint 检查基础规则(快速反馈),再跑 ESLint 检查自定义规则。
Biome
Biome(原 Rome)是一体化工具,同时提供 Formatter + Linter:
| 维度 | Prettier + ESLint | Biome |
|---|---|---|
| 格式化速度 | 1x | 25x |
| Lint 速度 | 1x | 15x |
| 配置文件 | .eslintrc + .prettierrc | 一个 biome.json |
| 安装 | 多个包 | 一个包 |
biome.json
{
"$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
"formatter": {
"indentStyle": "space",
"indentWidth": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"complexity": {
"noExcessiveCognitiveComplexity": "warn"
}
}
}
}
# 格式化 + Lint
npx @biomejs/biome check --write src/
选型建议
| 场景 | 推荐 |
|---|---|
| 现有项目加速 | OxLint + ESLint 共存 |
| 新项目(简单) | Biome 一体化 |
| 新项目(需要框架特定规则) | ESLint + OxLint 辅助 |
| CI 预检 | OxLint(秒级反馈) |
常见面试问题
Q1: OxLint 能完全替代 ESLint 吗?
答案:
目前不能。OxLint 缺少:
- 自定义规则能力(ESLint 的核心优势)
- 框架特定插件(如 eslint-plugin-vue 的
<template>规则) - 每个项目独特的团队规则
推荐策略:OxLint 做快速预检,ESLint 做完整检查。OxLint 可以在 CI 中先跑,失败的直接拒绝,减少 ESLint 的执行次数。