ESLint:JavaScript 项目的代码质量守门员
ESLint:JavaScript 项目的代码质量守门员
ESLint 在 GitHub 上拿到 27,313 Star。
做 JavaScript 开发的人都有体会,代码写多了总会冒出一些坏习惯:未使用的变量、遗漏的分号、隐式的类型转换。ESLint 干的事就是在你提交代码之前,把这些东西全找出来。
1、它是干嘛的
一个 JavaScript 代码检查工具。扫描你的代码,找出有问题的模式,逐条告诉你哪里不对。
和 JSLint、JSHint 这些前辈比,ESLint 做了三件关键的事:
- 用 Espree 做 JavaScript 解析,基于 AST 分析代码结构
- 每条规则都是独立的插件,运行时可以增减
- 配置文件直接控制每条规则的开关和严格程度

2、为什么用它
团队协作的项目里,代码风格统一是刚需。十个人写十种缩进,review 的时候光看格式就够头疼。
ESLint 可以在编辑器里实时标红问题代码,也可以在 CI 流程中做门禁检查。发现问题的时机越早,修起来越便宜。
规则有三个级别:off 关掉、warn 警告、error 报错。先用 warn 磨合团队习惯,等适应了再切到 error。
3、怎么装
Node.js 版本要求 20.19+、22.13+ 或 24+,先确认环境。一键初始化配置:
npm init @eslint/config@latest
跑完会问你几个问题,选完自动生成 eslint.config.js。之后直接检查文件:
npx eslint yourfile.js
用 pnpm 的话,在 .npmrc 里加两行:
auto-install-peers=true
node-linker=hoisted
4、配置长什么样
配置文件是标准的 JavaScript,规则按文件类型匹配:
import { defineConfig } from "eslint/config";
export default defineConfig([
{
files: ["**/*.js", "**/*.cjs", "**/*.mjs"],
rules: {
"prefer-const": "warn",
"no-constant-binary-expression": "error",
},
},
]);
规则名字可以在文档里查到完整列表,每个名字对应一种代码模式,配好之后 ESLint 自动帮你检查。
5、和 Prettier 的关系
经常有人问:用了 ESLint 还需要 Prettier 吗?
需要。两者分工不同:ESLint 管代码质量,查 bug 和坏习惯;Prettier 管代码格式,管缩进、换行和引号。各司其职,配合使用是主流方案。

6、支持哪些版本
ESLint 对 ECMAScript 的支持覆盖了 ES3、ES5 以及 2015 年至今的所有正式标准。实验性语法可以通过切换 parser 来支持,比如 Babel 项目用 @babel/eslint-parser。
React 项目的 JSX 也能直接解析,但需要在配置里开启。如果要检查 React 特有的语义规则,再加一个 eslint-plugin-react。
发布节奏是两周一次,周五或周六。遵循语义化版本,minor 更新可能新增报错,建议 package.json 里用 ~ 锁版本。
in-react`。
发布节奏是两周一次,周五或周六。遵循语义化版本,minor 更新可能新增报错,建议 package.json 里用 ~ 锁版本。
更多推荐


所有评论(0)