首页/开发/代码质量与评审速查/ESLint:JavaScript 检查入门
规范与静态检查65 条

ESLint:JavaScript 检查入门

ESLint 是 JavaScript/TypeScript 的可插拔检查器:规则分级 off/warn/error,--fix 可自动修复部分问题,从 recommended 集合起步。

ESLint 是什么

ESLint 是 JavaScript 与 TypeScript 的可插拔检查器:所有规则都以插件形式提供,每条规则可以设为关闭、警告或错误,并且能对一部分问题自动修复。它适合从一个小规则子集起步,逐步扩大——一次全开再逐条禁用,是最常见的失败路径。

基本信息

规则级别off / warn / error
自动修复--fix 处理可自动化的一部分规则
配置形态较新版本默认使用扁平配置 eslint.config.js,早期版本使用 .eslintrc 系列文件
起点eslint:recommended 或框架官方预设
语言支持JavaScript 原生;TypeScript 需配合 typescript-eslint

常用命令与用法

  • npx eslint . :检查整个项目,按配置生效。
  • npx eslint . --fix :自动修复可修复项,修完要复核一次改动。
  • npx eslint "src/**/*.ts" :按模式指定检查范围。
  • npx eslint --debug 或 --print-config :排查配置是否按预期生效。

常用命令

常用命令
npx eslint .                      # 检查整个项目
npx eslint src/ --fix             # 自动修复可修复项
npx eslint "src/**/*.{js,ts}"     # 只检查指定目录与后缀
npx eslint --print-config src/a.ts  # 查看某个文件最终生效的配置

落地策略对比

策略结果
先精选子集(如 recommended)问题可控,团队愿意持续修复
一次全开历史代码海量报错,规则被整包关闭
关规则不写理由后来人不敢打开,规则长期失效
CI 只警告不失败问题越积越多,最后无法收敛

让规则真正生效

  • 规则关闭必须带说明与负责人,避免变成永久关闭。
  • 新代码严格、旧代码宽松:对既有文件放行,对改动文件逐步收紧。
  • 把自动修复接入提交钩子,格式类问题不必进入评审。
  • 规则集合写进版本库,保证本地与 CI 结果一致。
  • 在配置里注明每条自定义取舍的原因,后来人才敢延续或调整。
先小集合再扩展:规则全开后再大量禁用,等于绕了一圈又回到起点。
自动修复后要快速复核:--fix 的改动同样属于代码改动,需要看懂它改了什么。
推荐的默认集合只覆盖公认问题,业务约定(如禁止在组件里直接发请求)需要团队自己补成预设。

易错点

  • 规则全开又大量 eslint-disable:不如开始时精选子集,还能保留信用。
  • --fix 的结果不看就提交:自动修改偶尔会调整语义相关的写法,需要一次快速复核。
  • 本地与 CI 配置不一致:本地看不到报错,CI 上反复失败。
  • 关规则不留理由:半年后没人敢打开,检查能力被静默削弱。

数据来源与参考

  • ESLint 官方文档(eslint.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌