web-dev-qa-db-fra.com

eslint "erreur d'analyse syntaxique: jeton inattendu {" dans JSX

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

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

Ce code génère une erreur "Erreur d'analyse ESLint: jeton inattendu {"

mon .eslintrc.js fichier est comme ça

module.exports = {
    "extends": "airbnb"
};

et j'installe les paquets comme ça

"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",

Je pensais que ESLint pouvait lire JSX car le jeton "<" ne se produisait pas. (Lorsque je modifie la section des extensions du fichier .eslintrc.js en "airbnb-base", le message d'erreur "Erreur d'analyse ESLint: jeton inattendu <. Mais le jeton" <"ne se produit pas d'erreur)

Cependant, mon ESLint ne peut pas lire la ligne de syntaxe JSX {variable}

3
YouHoGeon

Eslint seul ne suffit pas. Première installation babel-eslint:

npm install --save-dev babel-eslint

Ajoutez ensuite à votre fichier .eslintrc:

"parser": "babel-eslint"

Vous voudrez peut-être installer eslint-plugin-babel également, mais je pense que ce n'est pas nécessaire

6
Brian Le

J'ai la même erreur sur Next.js .

Ces étapes ont résolu mon problème:

1) Installez babel-eslint :

npm install --save-dev babel-eslint

2) Ajoutez babel-eslint en tant que analyseur syntaxique à eslint config

"parser": "babel-eslint"

Ma configuration eslint ressemble à ceci ( .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
java-man-script

Mon .eslintr a cette configuration supplémentaire pour activer JSX

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