带有 Babel 的 ESLint:未找到在 .eslintrc 中声明的 plugin-proposal-class-properties
ESLint with Babel: plugin-proposal-class-properties not found declared in .eslintrc
ESLint 服务器抛出以下错误:
[Info - 11:43:42] Failed to load plugin
'@babel/plugin-proposal-class-properties' declared in
'.eslintrc.json': Cannot find module
'@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 会尝试从错误的路径加载插件,如何解决?
我建议使用以下方法:
添加 .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
祝你好运!
ESLint 服务器抛出以下错误:
[Info - 11:43:42] Failed to load plugin '@babel/plugin-proposal-class-properties' declared in '.eslintrc.json': Cannot find module '@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 会尝试从错误的路径加载插件,如何解决?
我建议使用以下方法:
添加 .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
祝你好运!