扩展 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 代码。
与其他扩展类型不同,自定义解析器**不能**包含在插件中。
要了解有关创建自定义解析器的更多信息,请参阅 自定义解析器。