版本

配置解析器

您可以使用自定义解析器将 JavaScript 代码转换为抽象语法树,以供 ESLint 评估。如果您的代码与 ESLint 的默认解析器 Espree 不兼容,您可能需要添加自定义解析器。

配置自定义解析器

在许多情况下,您可以将 ESLint 附带的 默认解析器 用于解析您的 JavaScript 代码。您可以选择使用 parser 属性覆盖默认解析器。parser 属性必须是一个符合 解析器接口 的对象。例如,您可以使用 @babel/eslint-parser 包,以允许 ESLint 解析实验性语法

// eslint.config.js
import babelParser from "@babel/eslint-parser";
import { defineConfig } from "eslint/config";

export default defineConfig([
    {
        files: ["**/*.js", "**/*.mjs"],
        languageOptions: {
            parser: babelParser
        }
    }
]);

此配置确保 Babel 解析器,而不是默认的 Espree 解析器,用于解析所有以 .js.mjs 结尾的文件。

以下第三方解析器已知与 ESLint 兼容

配置解析器选项

解析器可能接受选项来更改其行为。languageOptions.parserOptions 用于将选项直接传递给解析器。这些选项始终是解析器特定的,因此您需要查看您正在使用的解析器的文档以获取可用选项。以下是为 Babel ESLint 解析器设置解析器选项的示例

// eslint.config.js
import babelParser from "@babel/eslint-parser";
import { defineConfig } from "eslint/config";

export default defineConfig([
    {
        languageOptions: {
            parser: babelParser,
            parserOptions: {
                requireConfigFile: false,
                babelOptions: {
                  babelrc: false,
                  configFile: false,
                  presets: ["@babel/preset-env"]
                }
            }
        }
    }
]);
更改语言