配置解析器 (已弃用)
您可以使用自定义解析器将 JavaScript 代码转换为抽象语法树,供 ESLint 评估。如果您的代码与 ESLint 的默认解析器 Espree 不兼容,您可能需要添加自定义解析器。
配置自定义解析器
默认情况下,ESLint 使用 Espree 作为其解析器。如果解析器满足以下要求,您可以选择在配置文件中指定应使用不同的解析器
- 它必须是一个可以从使用解析器的配置文件中加载的 Node 模块。通常,这意味着您应该使用 npm 单独安装解析器包。
- 它必须符合 解析器接口。
请注意,即使具有这些兼容性,也不能保证外部解析器能与 ESLint 正确协同工作。ESLint 不会修复与不兼容其他解析器相关的错误。
要指示用作解析器的 npm 模块,请在 .eslintrc
文件中使用 parser
选项指定它。例如,以下指定使用 Esprima 而不是 Espree
{
"parser": "esprima",
"rules": {
"semi": "error"
}
}
以下解析器与 ESLint 兼容
- Esprima
- @babel/eslint-parser - Babel 解析器的包装器,使其与 ESLint 兼容。
- @typescript-eslint/parser - 一个将 TypeScript 转换为 ESTree 兼容格式的解析器,以便可以在 ESLint 中使用。
请注意,当使用自定义解析器时,parserOptions
配置属性仍然是必需的,以便 ESLint 能够正确处理默认情况下 ECMAScript 5 中没有的功能。解析器都会传递 parserOptions
,并且可能会或可能不会使用它们来确定要启用的功能。