配置解析器(已弃用)
您可以使用自定义解析器将 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
,并且可能使用或不使用它们来确定要启用哪些功能。