web-dev-qa-db-fra.com

Pourquoi JSHint envoie-t-il un avertissement si j'utilise const?

Voici l'erreur que j'obtiens lors de l'utilisation de const:

<error line="2" column="1" severity="warning" message="&apos;const&apos; is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />

Mon code ressemble à ceci:

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

Le code fonctionne bien, mais JSHint me prévient à chaque fois.

225
Andre Schlesinger

Lorsque vous utilisez des fonctionnalités ECMAScript 6 telles que const, vous devez définir cette option pour que JSHint ne déclenche pas d’avertissements inutiles. 

/ * jshint esnext: true * / (Edit 2015.12.29: syntaxe mise à jour pour refléter les commentaires de @ Olga )

/*jshint esversion: 6 */

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

Comme son nom l'indique, cette option indique à JSHint que votre code utilise la syntaxe spécifique à ECMAScript 6 . http://jshint.com/docs/options/#esversion

Edit 2017.06.11: ajout d'une autre option basée sur cette réponse .

Bien que la configuration en ligne fonctionne bien pour un fichier individuel, vous pouvez également activer ce paramètre pour l'ensemble du projet en créant un fichier .jshintrc à la racine de votre projet et en l'ajoutant à cet emplacement.

{
  "esversion": 6
}
402
James Hibbard

Vous pouvez ajouter un fichier nommé .jshintrc dans root de votre application avec le contenu suivant pour appliquer ce paramètre à la solution entière:

{
    "esversion": 6
}

La réponse de James suggère que vous puissiez ajouter un commentaire /*jshint esversion: 6 */ pour chaque fichier, mais cela demande plus de travail que nécessaire si vous devez contrôler plusieurs fichiers.

240
Zanon

J'ai passé des siècles à essayer de résoudre ce problème. Chaque solution parle d '«options de réglage». Je ne sais pas ce que ça veut dire. Finalement, j'ai compris. Vous pouvez simplement inclure une ligne commentée en haut du fichier /*jshint esversion: 6 */.

 Solution

30
Josh Pittman

J'ai reçu le même avertissement lors de l'utilisation d'une déclaration d'exportation. J'utilise VS Code et utilise une approche similaire à la solution de Wenlong Jiang. 

  1. Paramètres utilisateur
  2. JSHint config
  3. "jshint.options": {} (Modifier)
  4. Utilisez guillemets doubles lorsque vous spécifiez "esversion"

    Ou copiez cet extrait dans les paramètres de l'utilisateur:

    "jshint.options": {
      "esversion": 6,
    }
    

La création d'un fichier .jshintrc n'est pas nécessaire si vous souhaitez configurer les paramètres globaux de jshint pour votre éditeur.

29
Nicholas Gentile

Si vous utilisez le VSCode:

  • Allez dans préférences -> paramètres (cmd + ,)
  • Tapez jshint.options dans la barre de recherche
  • Survolez-le et cliquez sur l'icône du crayon
  • Son maintenant ajouté sur le côté droit.
  • Ajoutez "esversion": 6 à l'objet options.

Ou simplement ajouter ceci à vos paramètres utilisateur:

"jshint.options": {
    "esversion": 6
}
22
Phil

Vous pouvez spécifier esversion: 6 à l'intérieur de l'objet options jshint. S'il vous plaît voir l'image. J'utilise le plugin grunt-contrib-jshint.

 enter image description here

15
Wenlong Jiang

Lorsque vous commencez à utiliser ECMAScript 6, cette erreur est générée par votre IDE. 

Deux options sont disponibles:

si vous avez un seul fichier et que vous voulez utiliser le es6, ajoutez simplement la ligne ci-dessous en haut du fichier.

/*jshint esversion: 6 */

Ou, si vous avez plusieurs fichiers js ou que vous utilisez un framework (comme nodejs express), vous pouvez créer un nouveau fichier nommé .jshintrc dans votre répertoire racine et ajouter du code ci-dessous dans le fichier:

{
    "esversion": 6
}

Si vous souhaitez utiliser la version es6 à partir de chaque projet, vous pouvez configurer votre IDE.

1
Prashant Barve

Si vous utilisez la configuration Grunt, procédez comme suit.

Message d'avertissement dans Jshint:

 enter image description here

Solution:

  1. Définissez les options de jshint et mappez le fichier .jshintrc.js

 enter image description here

  1. Créez le fichier .jshintrc.js dans ce fichier et ajoutez le code suivant
 {
 "esversion": 6 
} 

Après avoir configuré ceci, Exécuter à nouveau. Il ignorera l’avertissement,

 enter image description here

0
Sridhar

Si vous utilisez Webstorm et que vous ne possédez pas votre propre fichier de configuration, activez simplement EcmaScript.next dans Options de relaxation dans

Paramètres | Langues et cadres | JavaScript | Outils de qualité du code | JSHint

Voir cette question Comment résoudre les erreurs JSHint-ES6

0
Sudhanshu Gaur

Créez un fichier appelé, par exemple jshint_opts, avec ce contenu:

Ensuite, appelez jshint avec quelque chose comme cette ligne de commande:

jshint --config jshint_opts lib/*. js

0
Alan Wendt