配置解析器
您可以使用自定义解析器将 JavaScript 代码转换为抽象语法树,以便 ESLint 进行评估。如果您的代码与 ESLint 的默认解析器 Espree 不兼容,您可能需要添加一个自定义解析器。
配置自定义解析器
在许多情况下,您可以使用 ESLint 附带的默认解析器来解析您的 JavaScript 代码。您可以选择使用 parser
属性来覆盖默认解析器。parser
属性必须是一个符合解析器接口的对象。例如,您可以使用@babel/eslint-parser
包来允许 ESLint 解析实验性语法
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
files: ["**/*.js", "**/*.mjs"],
languageOptions: {
parser: babelParser
}
}
];
此配置确保使用 Babel 解析器而不是默认的 Espree 解析器来解析所有以 .js
和 .mjs
结尾的文件。
以下第三方解析器已知与 ESLint 兼容
- Esprima
- @babel/eslint-parser - 一个围绕Babel 解析器的包装器,使其与 ESLint 兼容。
- @typescript-eslint/parser - 一个将 TypeScript 转换为 ESTree 兼容形式的解析器,以便它可以用于 ESLint。
配置解析器选项
解析器可能接受选项以改变其行为方式。languageOptions.parserOptions
用于将选项直接传递给解析器。这些选项始终是解析器特定的,因此您需要查看您正在使用的解析器的文档以获取可用选项。以下是如何为 Babel ESLint 解析器设置解析器选项的示例
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
languageOptions: {
parser: babelParser,
parserOptions: {
requireConfigFile: false,
babelOptions: {
babelrc: false,
configFile: false,
presets: ["@babel/preset-env"]
}
}
}
}
];