前端代码质量工具链
职责边界
- ESLint 检查 JavaScript/TypeScript 的语义和代码规则。
- Prettier 负责格式化,不负责业务语义。
- Stylelint 检查 CSS/SCSS。
- Husky + lint-staged 在提交前只检查改动文件。
- Commitlint + Conventional Commits 统一提交格式,便于生成变更日志。
不要用 ESLint 和 Prettier 重复承担格式化规则;CI 中仍需完整执行 lint,提交钩子只做快速反馈。
面试追问
ESLint 的 Parser 负责把源码变成 AST,Plugin 提供规则或处理器,Rule 决定具体诊断。TypeScript 项目要使用 TypeScript Parser,并区分不需要类型信息的快速规则和需要 parserOptions.project 的类型感知规则,后者成本更高。

