ESLint与Babel配合使用:.eslintrc中未找到plugin-proposal-class-properties声明

4

ESLint服务器抛出以下错误:

[Info - 11:43:42] 加载插件失败'@babel/plugin-proposal-class-properties',在'.eslintrc.json'中声明:找不到模块'@babel/eslint-plugin-plugin-proposal-class-properties'

我安装了@babel/plugin-proposal-class-properties,但是ESLint服务器尝试从路径'@babel/eslint-plugin-plugin-proposal-class-properties'加载它,而包实际安装在这里:'@babel/plugin-proposal-class-properties'

package.json:

{
  ...
  "dependencies": {},
  "devDependencies": {
    "@babel/core": "^7.12.3",
    "@babel/eslint-parser": "^7.12.1",
    "@babel/eslint-plugin": "^7.12.1",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "eslint": "^7.11.0",
    "eslint-config-airbnb-base": "^14.2.0",
    "eslint-plugin-import": "^2.22.1"
  }
}

.eslintrc.json

{
  "extends": ["airbnb-base"],
  "parser": "@babel/eslint-parser",
  "parserOptions": {
    "sourceType": "module",
    "allowImportExportEverywhere": false,
    "requireConfigFile": false
  },
  "plugins": ["@babel", "@babel/plugin-proposal-class-properties"],
  "rules": {
  }
}

为什么ESLint尝试从错误的路径加载插件,如何修复它?

1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
3

我建议采用以下方法:

添加 .babelrc 文件:

{
    "presets": ["@babel/env"],
    "plugins": ["@babel/plugin-proposal-class-properties"] //<-- Add your babel plugin's here
}

请按以下方式更新 .eslintrc 文件:

"extends": [
        "airbnb-base",
        "eslint:recommended"
    ],
...
"parser": "babel-eslint",
...
"parserOptions": {
        "sourceType": "module",
        "allowImportExportEverywhere": false,
        "babelOptions": {
            "configFile": "./babelrc" //<---here
          }
    }
...
"plugins": [
    "@babel",
  ],
...
"rules": {
        "react/display-name": 1,
        "no-unused-vars": "warn"
    },

其他有用的文章:

https://github.com/babel/babel-eslint/issues/818

https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser#additional-parser-configuration

@babel/eslint-parser在.eslintrc中声明Babel插件

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,