126 votes

JSX n'est pas autorisé dans les fichiers avec l'extension ' .js' avec eslint-config-airbnb

J'ai installé eslint-config-airbnb qui est censé pré configurer ESLINT pour React :

Notre exportation par défaut contient toutes nos règles ESLint, y compris ECMAScript 6+ et React. Il nécessite eslint, eslint-plugin-import, eslint-plugin-react, et eslint-plugin-jsx-a11y.

Mon .eslintrc en étendant sa configuration :

{ "extends": "eslint-config-airbnb",
  "env": {
    "browser": true,
    "node": true,
    "mocha": true
  },
  "rules": {
    "new-cap": [2, { "capIsNewExceptions": ["List", "Map", "Set"] }],
    "react/no-multi-comp": 0,
    "import/default": 0,
    "import/no-duplicates": 0,
    "import/named": 0,
    "import/namespace": 0,
    "import/no-unresolved": 0,
    "import/no-named-as-default": 2,
    "comma-dangle": 0,  // not sure why airbnb turned this on. gross!
    "indent": [2, 2, {"SwitchCase": 1}],
    "no-console": 0,
    "no-alert": 0,
    "linebreak-style": 0
  },
  "plugins": [
    "react", "import"
  ],
  "settings": {
    "import/parser": "babel-eslint",
    "import/resolve": {
      "moduleDirectory": ["node_modules", "src"]
    }
  },
  "globals": {
    "__DEVELOPMENT__": true,
    "__CLIENT__": true,
    "__SERVER__": true,
    "__DISABLE_SSR__": true,
    "__DEVTOOLS__": true,
    "socket": true,
    "webpackIsomorphicTools": true
  }
}

Malheureusement, j'obtiens l'erreur suivante lors de la vérification d'un fichier .js contenant du code React JSX :

 error  JSX not allowed in files with extension '.js'              react/jsx-filename-extension

eslint-config-airbnb n'était-il pas déjà configuré pour supporter JSX, comme indiqué ?

Que faut-il faire pour supprimer cette erreur ?

2voto

Adam burdette Points 51

Pour développer Martin's réponse, il semble qu'il ne soit pas possible, actuellement, d'utiliser JSX dans React Native. A PR a été créé mais annulé en raison de préoccupations concernant la fragmentation et les conséquences inconnues d'avoir des choses telles que index.ios.jsx . Je ne sais pas comment AirBnb contourne ce problème ou si c'est le cas, mais j'ai utilisé essentiellement la même chose. rules bloc comme Martin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X