const title = 'My Minimal React Webpack Babel Setups';
const App = () => (<div><b>{title}</b><img src={img} /></div>)
此代码发生错误“ ESLint分析错误:意外的令牌{”
我的 .eslintrc.js 文件就是这样
module.exports = {
"extends": "airbnb"
};
然后我像这样安装软件包
"eslint": "^5.9.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-loader": "^2.1.1",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.2",
"eslint-plugin-react": "^7.11.1",
我认为ESLint可以读取JSX,因为令牌“ <”不会发生错误。 (当我将.eslintrc.js文件中的extends部分更改为“ airbnb-base”时,会发生错误“ ESLint解析错误:意外的令牌<。但是现在,令牌“ <”不再发生错误)
但是,我的ESLint无法读取JSX语法行{variable}
答案 0 :(得分:12)
仅靠自身力量是不够的。首先安装babel-eslint
:
npm install --save-dev babel-eslint
或使用纱线:
yarn add -D babel-eslint
然后将其添加到您的.eslintrc
文件中:
"parser": "babel-eslint"
您可能也想安装eslint-plugin-babel
,但我相信这不是必需的
答案 1 :(得分:2)
我在 Next.js 上遇到了相同的错误。
这些步骤解决了我的问题:
1)安装 babel-eslint :
npm install --save-dev babel-eslint
2)将 babel-eslint 作为解析器添加到eslint配置中
"parser": "babel-eslint"
我的eslint配置如下( .eslintrc ):
{
"env": {
"browser": true,
"es6": true,
"commonjs": true,
"node": true
},
"extends": ["eslint:recommended", "plugin:react/recommended"],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 9,
"ecmaFeatures": {
"jsx": true
},
"sourceType": "module"
},
"plugins": ["react"],
"rules": {
"react/react-in-jsx-scope": 0,
"no-console": 1
}
}
答案 2 :(得分:0)
我的.eslintr具有此额外的配置以启用JSX
"parserOptions": {
"ecmaFeatures": {
"jsx": true
}
}