问题

我正在使用 TypeScript 和 React 进行开发。这个项目是通过 CRA 生成的,并且我在 .eslintrc.json 中使用了 react-app 的配置。然而,我决定使用 eslint-config-airbnb,因此我添加了它并更改了我的 .eslintrc.json 文件。

1
2
3
4
5
{
"extends": [
"airbnb",
]
}

但是,我当我定义一个 enum 时,Eslint 抛出了 Parsing error: The keyword enum is reserved 的错误。

1
`Parsing error: The keyword 'enum' is reserved eslint`

解决方案

当你使用 eslint-config-airbnb 时,你需要安装 @typescript-eslint/parser@typescript-eslint/eslint-plugin

1
yarn add @typescript-eslint/parser -D

然后,你需要在 .eslintrc.json 中添加以下内容:

1
2
3
4
5
6
{
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
]
}

此外你可能还需要安装 eslint-plugin-importeslint-plugin-reacteslint-plugin-jsx-a11y

1
yarn add eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y -D

然后,你需要在 .eslintrc.json 中添加以下内容:

1
2
3
4
5
6
{
"plugins": [
"react",
"jsx-a11y"
]
}

推荐方案

直接使用 eslint-config-airbnb-typescript 快速配置。