前端代码质量工具链

职责边界

  • 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 的类型感知规则,后者成本更高。