扩展 ESLint 的方法
ESLint 具有高度的可扩展性和可配置性。您可以通过多种方式扩展 ESLint 的功能。
此页面解释了扩展 ESLint 的方法,以及这些扩展如何协同工作。
插件
插件允许您将自己的 ESLint 自定义规则和自定义处理器添加到项目中。您可以将插件发布为 npm 模块。
插件很有用,因为您的项目可能需要一些核心 eslint
包中未包含的 ESLint 配置。例如,如果您使用的是像 React 这样的前端 JavaScript 库或像 Vue 这样的框架,这些工具具有一些需要自定义规则的功能,这些功能超出了 ESLint 核心规则的范围。
插件通常会与 ESLint 的配置配对,该配置将插件中的一组功能应用于项目。您也可以在插件中包含配置。
例如,eslint-plugin-react
是一个 ESLint 插件,其中包含专门用于 React 项目的规则。这些规则包括强制一致使用 React 组件生命周期方法以及在渲染动态列表时要求使用 key 属性等。
要了解有关创建可以在插件中包含的扩展的更多信息,请参阅以下文档
要了解有关将这些扩展捆绑到插件中的更多信息,请参阅 插件。
可共享的配置
ESLint 可共享的配置是您可以用于项目的预定义 ESLint 配置。它们将规则和其他配置捆绑到 npm 包中。配置文件中可以包含的任何内容都可以放在可共享的配置中。
您可以独立发布可共享的配置,也可以作为插件的一部分发布。
例如,一个流行的可共享配置是 eslint-config-airbnb,它包含各种规则以及一些 解析器选项。这是一组用于 ESLint 的规则,旨在匹配 Airbnb JavaScript 风格指南 中使用的风格指南。通过使用 eslint-config-airbnb
可共享配置,您可以在项目中自动执行 Airbnb 风格指南,而无需手动配置每个规则。
要了解有关创建可共享配置的更多信息,请参阅 共享配置。
自定义格式化程序
自定义格式化程序采用 ESLint 代码检查结果,并以您定义的格式输出结果。自定义格式化程序允许您以最适合您需求的格式显示代码检查结果,无论是特定文件格式、特定显示样式,还是针对特定工具优化的格式。只有在 内置格式化程序 不能满足您的用例时,您才需要创建自定义格式化程序。
例如,自定义格式化程序 eslint-formatter-gitlab 可用于在 GitLab 代码质量报告中显示 ESLint 结果。
要了解有关创建自定义格式化程序的更多信息,请参阅 自定义格式化程序。
自定义解析器
ESLint 自定义解析器是一种扩展 ESLint 以支持代码中新语言特性或自定义语法检查的方法。解析器负责获取您的代码并将其转换为抽象语法树 (AST),然后 ESLint 可以分析和检查该树。
ESLint 附带一个内置的 JavaScript 解析器 (Espree),但自定义解析器允许您检查其他语言或扩展内置解析器的检查功能。
例如,自定义解析器 @typescript-eslint/parser 扩展了 ESLint 以检查 TypeScript 代码。
与其他扩展类型不同,**自定义解析器不能**包含在插件中。
要了解有关创建自定义解析器的更多信息,请参阅 自定义解析器。