加载中...
ESLint 是 JavaScript 和 TypeScript 的静态代码分析工具,通过可配置的规则发现代码中的问题、风格不一致和潜在 Bug,已成为前端项目代码质量保障的标准工具。

| 类型 | JavaScript 静态分析工具 |
| 首发年份 | 2013 |
| 开发者 | Nicholas Zakas,现由 OpenJS Foundation 维护 |
ESLint 将 JS/TS 代码解析为 AST(抽象语法树),规则以访问者模式遍历 AST 节点,检测特定模式。例如 no-unused-vars 规则在遍历时记录所有变量声明和引用,最终报告只声明未使用的变量。
规则严重级别分三档:off(关闭)、warn(警告)、error(阻断 CI)。2024 年 ESLint 9.x 引入扁平配置(flat config),用 eslint.config.js 取代原来的 .eslintrc + 层级继承体系,配置逻辑更直观。[1]
ESLint 通过插件扩展:eslint-plugin-react(React Hooks 规则)、@typescript-eslint/eslint-plugin(TypeScript 类型感知规则,如 no-floating-promises 检测未处理的 Promise)、eslint-plugin-import(模块导入路径校验)。共享配置(如 eslint-config-airbnb)提供一套开箱即用的规则集,是很多项目的起点。
在 CI 中,ESLint 与 Prettier 配合最为常见:Prettier 负责格式化(括号、缩进、行长),ESLint 负责代码质量规则,两者职责分离,避免规则冲突(eslint-config-prettier 关闭所有与 Prettier 冲突的 ESLint 格式规则)。

| 类型 | JavaScript 静态分析工具 |
| 首发年份 | 2013 |
| 开发者 | Nicholas Zakas,现由 OpenJS Foundation 维护 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧