web-dev-qa-db-ja.com

eslint「構文解析エラー:JSXの予期しないトークン{」

const title = 'My Minimal React Webpack Babel Setups';

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

このコードではエラーが発生します"ESLint Parsing Error:Unexpected token {"

my 。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構文行{変数}を読み取ることができません

11
YouHoGeon

Eslintだけでは十分ではありません。最初のインストールbabel-eslint

npm install --save-dev babel-eslint

または糸で:

yarn add -D babel-eslint

次に、.eslintrcファイル:

"parser": "babel-eslint"

eslint-plugin-babelも同様ですが、これは必要ないと思います

19
Brian Le

Next.jsで同じエラーが発生しました。

次の手順で問題が解決しました。

1)インストールbabel-eslint

npm install --save-dev babel-eslint

2)babel-eslintparserとしてeslint configに追加

"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
  }
}
5
java-man-script

私の.eslintrには、JSXを有効にするためのこの追加の構成があります

"parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  }
0
Eponyme Web