ESLintrc生成器
该生成器根据四个选项创建即用的.eslintrc.json配置:浏览器或Node环境、TypeScript支持和React支持。它会组合eslint:recommended、与所选内容对应的TypeScript或React插件以及若干合理的规则覆盖设置,您可以直接将结果粘贴到项目中。
如何生成 ESLint 配置文件
-
1
选择环境
选择代码在浏览器、Node.js 或两者中运行。生成器会设置相应的`env`条目,以及`es2022`。
-
2
启用 TypeScript
勾选 TypeScript 后,生成器会添加`@typescript-eslint/parser`和推荐的 TypeScript 插件。
-
3
启用 React
勾选 React 后,生成器会添加带推荐预设的`eslint-plugin-react`。
-
4
生成
点击按钮后,配置将以格式清晰的 JSON 形式生成。
-
5
复制到项目中
将输出内容粘贴到`.eslintrc.json`中,并安装配置所引用的插件。
生成的配置包含什么
生成器始终以eslint:recommended为基础,并只添加与您的选择对应的内容:
- 包含
browser和/或node的env,以及es2022 - 启用 TypeScript 时,添加
@typescript-eslint/parser和plugin:@typescript-eslint/recommended - 启用 React 时,添加
plugin:react/recommended - 将
no-console和no-unused-vars设置为warn
输出是采用传统.eslintrc.json形式的简单 JSON 对象,可直接粘贴,并可根据自己的规则进行扩展。
平面配置与传统配置对比
ESLint 9 已弃用 .eslintrc.* 格式,转而采用扁平配置格式(eslint.config.js)。主要差异如下:
| 属性 | 传统格式 (.eslintrc) | 平面格式 (eslint.config.js) |
|---|---|---|
| 格式 | JSON 、 YAML 或 CommonJS | ESM 或 CommonJS JavaScript 模块 |
| 扩展 | extends: ["plugin:react/recommended"] |
扩展至数组:...reactPlugin.configs.recommended |
| 覆盖设置 | 使用全局模式的 overrides 数组 |
导出数组中包含多个对象 |
| 全局变量 | env: { browser: true } |
包含显式导入项的 languageOptions.globals |
| 忽略 | .eslintignore 文件 |
配置数组中的 ignores 字段 |
新项目应采用扁平化配置;现有项目可在10.x系列版本中继续沿用旧配置,但建议进行迁移。
插件生态系统
典型的 React/TS 项目插件:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
这相当于为一个具有中等个性化设置的系统配置提供了六个安装包。生成器只会添加您选择的插件,因此您只需安装配置所引用的内容。
与 Prettier 共存
Prettier 负责格式设置;ESLint 则负责除格式外的语法正确性与风格规范。为避免冲突:
- 安装
eslint-config-prettier,并将其作为扩展配置文件中的最后一个项目添加。 - 该功能会关闭所有与 Prettier 输出结果存在冲突的 ESLint 规则。
- 单独运行 Prettier(在编辑器保存时、提交前钩子阶段以及持续集成过程中)。
请勿在新项目中使用 eslint-plugin-prettier;该工具会在 ESLint 中运行 Prettier,从而拖慢 ESLint 的运行速度。建议将这两个工具分开使用。
规则调优技巧
- 初始状态宽松,逐步收紧约束。 在出现错误前启用警告功能。
- 为测试进行覆盖。 测试文件通常需要启用
no-unused-expressions的宽松配置以及 Jest 全局变量支持。 - 为脚本进行覆盖。 构建脚本可能需要使用 Node 全局变量,但无需全局添加
env: node。 - 为覆盖添加说明。 每条规则的修改均需附注说明理由。
与您的编辑器匹配的配置
VS Code 需要安装并配置 ESLint 扩展。请将这些设置添加到工作区配置中,以便在保存时自动修复错误。
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
常见问题
对于新项目,请使用扁平配置(eslint.config.js)。此生成器输出传统的.eslintrc.json格式,ESLint 在旧模式下可直接读取;如果日后迁移,变化内容见上方对比表。
是的,如果您使用的是TypeScript。@typescript-eslint/parser和@typescript-eslint/eslint-plugin可启用支持TypeScript的代码检查功能;对于基于类型规则(而非仅限语法规则)的检查,请同时为解析器配置project: './tsconfig.json'。
通常情况下,持续集成(CI)环境中缺少依赖项。请确保本地环境与CI环境中的@typescript-eslint/*版本、插件及ESLint版本一致;在CI环境中使用npm ci(而非npm install),以遵守lockfile规范。
不会。您的选择仅用于生成配置,不会被存储,也不会与第三方共享。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
电话号码验证器
根据各国号码规划检查结构,并显示地区、类型以及E.164、国际、国内和RFC 3966格式。
此工具还提供其他语言版本
- Generador de ESLintrc [ES]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [NL]
- ESLintrc 생성기 [KO]
- Générateur d'ESLintrc [FR]
- ESLintrc-generator [SV]
- Generator ESLintrc [ID]
- Gerador de ESLintrc [PT]
- ESLintrc-Generator [DE]
- ESLintrc Üreticisi [TR]
- Generator .eslintrc [PL]
- ESLintrc Generator [EN]
- ESLintrc ジェネレーター [JA]
- Bộ tạo ESLintrc [VI]
- مولد ESLintrc [AR]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]