在没有 babelrc 的情况下将 ESLint 与 Parcel、React 和 ES6 class 属性一起使用
Using ESLint with Parcel, React, and ES6 class properties without babelrc
我正在尝试设置 ESLint、React、Parcel 一起工作。我也没有设置 babelrc,因为 Parcel 会在内部处理它。
一切正常,除了我不知道如何阻止 ESLint 抱怨有效的 ES6 导入、class 属性和 JSX 语法。
这是可以试用的存储库:
https://github.com/mehtapratik/parcel-babel-import
npm run dev //run parcel
npm run lint // run eslint
这是我的 ESLint 配置
{
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:jsx-a11y/recommended",
"plugin:import/errors",
"prettier"
],
"plugins": ["import", "react", "jsx-a11y"],
"rules": {
"react/prop-types": 0,
"react/react-in-jsx-scope": 0
},
"parser": "@babel/eslint-parser",
"parserOptions": {
"ecmaVersion": 2021,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"es6": true,
"browser": true,
"node": true
}
}
当我添加 "parser": "@babel/eslint-parser"
时问题开始出现。我添加了此配置以避免 ESLint 显示有关 class 属性的错误:
class App {
// Without "parser": "@babel/eslint-parser" following line will show ESLint error
timestampe = Date.now();
}
我搜索了其他问题,如果我添加 requireConfigFile: false
,ESLint 开始抱怨 JSX 语法。
有什么方法可以配置 ESLint 以理解 JSX 语法和 ES6 class 属性,而无需自己配置 babel?
您应该可以 eslint
通过升级到 version 8.
见
我正在尝试设置 ESLint、React、Parcel 一起工作。我也没有设置 babelrc,因为 Parcel 会在内部处理它。
一切正常,除了我不知道如何阻止 ESLint 抱怨有效的 ES6 导入、class 属性和 JSX 语法。
这是可以试用的存储库: https://github.com/mehtapratik/parcel-babel-import
npm run dev //run parcel
npm run lint // run eslint
这是我的 ESLint 配置
{
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:jsx-a11y/recommended",
"plugin:import/errors",
"prettier"
],
"plugins": ["import", "react", "jsx-a11y"],
"rules": {
"react/prop-types": 0,
"react/react-in-jsx-scope": 0
},
"parser": "@babel/eslint-parser",
"parserOptions": {
"ecmaVersion": 2021,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"es6": true,
"browser": true,
"node": true
}
}
当我添加 "parser": "@babel/eslint-parser"
时问题开始出现。我添加了此配置以避免 ESLint 显示有关 class 属性的错误:
class App {
// Without "parser": "@babel/eslint-parser" following line will show ESLint error
timestampe = Date.now();
}
我搜索了其他问题,如果我添加 requireConfigFile: false
,ESLint 开始抱怨 JSX 语法。
有什么方法可以配置 ESLint 以理解 JSX 语法和 ES6 class 属性,而无需自己配置 babel?
您应该可以 eslint
通过升级到 version 8.
见