刚开始学编程时,你最常纠结的问题可能是:"这行代码能不能跑起来?" 只要程序能运行、结果正确,就觉得大功告成。但在真正的团队开发里,"能跑"只是最低要求,代码还要"好看、好读、不容易出错"。这就需要有个工具来帮忙把关,它就是 ESLint。
ESLint 是什么?
ESLint 是一个运行在 Node.js 上的代码检查工具(术语叫 linter,即"代码静态检查器")。它不运行你的程序,而是像语文老师批改作文一样,把代码从头到尾"读"一遍,找出不符合规范的地方,再提示你修改。
举个例子,演示项目 idnex.mjs 里有这样一段代码:
let name = "shunwuyu";
function hello() {
console.log(name + "hello");
}
hello();
这段代码能正常运行,但 ESLint 依然能挑出毛病:变量 name 用 let 声明后从没被重新赋值,其实用 const 更合适。
ESLint 能做什么?
它的作用可以概括成三点:
1. 统一代码风格。 一个团队里,有人爱用单引号、有人爱用双引号;有人结尾加分号、有人不加。风格不统一,代码合并时会非常混乱。ESLint 用规则强制所有人保持一致。比如本项目配置里写了 "quotes": ["error", "double"],意思就是"必须用双引号,否则报错"。
2. 提前发现潜在 bug。 很多错误要到运行时才暴露,而 ESLint 能在你写代码时就提醒。比如规则 "no-var": 2 禁止使用老旧的 var 关键字——它有作用域陷阱,容易造成意外错误,改用更安全的 let、const。
3. 养成良好编码习惯。 规则 "no-console": 1 提醒你:调试时可以打印日志,但上线前记得删掉。这种"温柔提示"能帮你建立规范意识。
它是怎么工作的?
核心是一份配置文件 eslint.config.mjs。里面定义了一条条"规则"(rule),每条规则有三个级别:
off或0:关闭,不检查warn或1:警告,提醒但不阻止error或2:报错,不修就无法通过
例如 "semi": ["error", "always"] 要求每条语句结尾必须加分号;"indent": ["error", 2] 要求缩进必须是 2 个空格。配好后,在终端运行:
npm run lint # 检查代码
npm run lint:fix # 检查并自动修复能修的问题
--fix 参数很贴心,像引号、分号这类格式问题它都能自动帮你改好。
为什么团队离不开它?
想象一下:新同事加入项目,每个人代码风格都不一样,Review 时你要花大量时间去纠正"这个少分号、那个用错引号"。有了 ESLint,这些琐碎问题交给机器统一把关,人就能把精力放在真正重要的逻辑和设计上。它就像项目的"门禁",保证每一行进入仓库的代码都符合标准。