JSX 中的 eslint“解析错误:意外标记 {”

新手上路,请多包涵
const title = 'My Minimal React Webpack Babel Setups';

const App = () => (<div><b>{title}</b><img src={img} /></div>)

此代码出现错误 “ESLint Parsing Error: Unexpected token {”

我的 .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 Parsing Error: Unexpected token <。但是现在,令牌“<”不会发生错误)

但是,我的 ESLint 无法读取 JSX 语法行 {variable}

原文由 YouHoGeon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 621
2 个回答

Eslint 本身还不够好。首先安装 babel-eslint

 npm install --save-dev babel-eslint

或者用纱线:

 yarn add -D babel-eslint

然后添加到你的 .eslintrc 文件:

 "parser": "babel-eslint"

您可能还想安装 eslint-plugin-babel ,但我认为这不是必需的

原文由 Brian Le 发布,翻译遵循 CC BY-SA 4.0 许可协议

我在 Next.js 上遇到了同样的错误。

这些步骤解决了我的问题:

1)安装 babel-eslint

 npm install --save-dev babel-eslint

  1. 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
  }
}

原文由 bekliev 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题