javascript如何实现代码检查_ESLint有哪些常用规则

ESLint 通过配置 rules 实现 JavaScript 代码检查,支持 off/warn/error 三级 severity;需安装、初始化配置文件、运行检查并集成编辑器插件;规则分错误预防、代码风格、ES6+ 规范、可读性四类,可继承 eslint:recommended 等配置并按需覆盖或禁用。

JavaScript 代码检查主要靠 ESLint 实现,它能提前发现潜在错误、风格不一致和不良实践。核心是配置规则(rules),规则可设为 "off"(禁用)、"warn"(警告)或 "error"(报错中断构建)。

如何启用 ESLint 检查

安装并初始化后,在项目根目录创建 .eslintrc.js.eslintrc.json 配置文件,通过 rules 字段开启具体规则:

  • 全局安装:npm install -g eslint;本地推荐:npm install eslint --save-dev
  • 初始化配置:npx eslint --init(按向导选择环境、框架、风格等)
  • 运行检查:npx eslint src/ 或配合脚本写入 package.json"lint": "eslint src/"
  • 编辑器中装 ESLint 插件(如 VS Code 的 ESLint 扩展),可实时标出问题

ESLint 常用规则分类与示例

规则按作用大致分四类,以下为高频实用项(基于 eslint:recommended 和社区常用实践):

  • 错误预防类
    "no-unused-vars": "error" —— 报错未使用的变量或参数
    "no-undef": "error" —— 禁止使用未声明的变量
    "no-redeclare": "error" —— 禁止重复声明变量
  • 代码风格类
    "indent": ["error", 2] —— 强制 2 空格缩进
    "quotes": ["error", "single"] —— 必须用单引号
    "semi": ["error", "always"] —— 必须加分号
  • ES6+ 语法规范类
    "no-var": "error" —— 禁用 var,强制用 const/let
    "prefer-const": "warn" —— 推荐用 const 替代 let(若未重新赋值)
    "arrow-spacing": "error" —— 箭头函数前后保留空格
  • 可读性与维护性类
    "max-len": ["warn", { "code": 100 }] —— 单行不超过 100 字符
    "no-console": "warn" —— 开发时允许,上线前建议禁用(可配 {"allow": ["warn", "error"]}
    "complexity": ["warn", { "max": 10 }] —— 圈复杂度超 10 发出警告

如何自定义或扩展规则

不必从零写规则,可继承成熟配置再微调:

  • 扩展官方推荐:"extends": "eslint:recommended"
  • 搭配主流风格(如 Airbnb、Standard):"extends": "airbnb-base"(需额外安装对应包)
  • 覆盖某条规则:在 rules 中重新声明,优先级高于 extends
  • 对特定文件禁用规则:用注释控制,如 // eslint-disable-next-line no-alert/* eslint-disable no-unused-vars */

基本上就这些。规则不是越多越好,关键是团队共识 + 持续执行。初期可先开核心错误类规则,再逐步加入风格约束,避免一次性报错太多影响开发节奏。