155 votes

Variables globales en Javascript et ESLint

J'ai plusieurs fichiers javascript et j'ai défini une variable globale dans un fichier qui se charge avant les autres. En conséquence, tous les fichiers chargés après le premier ont accès à la variable globale. Cependant, ESLint indique que la variable globale est "non définie". Je ne veux pas changer les règles d'ESLint et j'aimerais trouver un moyen élégant de me débarrasser de ces messages d'erreur. Avez-vous une idée ? Merci

4 votes

-> eslint.org/docs/guide d'utilisation/configuration#specification des globales . La documentation d'ESLint est excellente, vous devriez y jeter un coup d'œil.

189voto

v-andrew Points 7022

Je ne pense pas que pirater les règles ESLint par fichier soit une bonne idée.

Vous devriez plutôt définir globals en .eslintrc o package.json .

Pour .eslintrc :

"globals": {
    "angular": true
}

Pour package.json :

"eslintConfig": {
    "globals": {
        "angular": true
    }
}

Vérifiez https://eslint.org/docs/user-guide/configuring/language-options#specifying-globals

10 votes

Il peut être utile de noter que vous avez défini la variable globale à true si vous pouvez assigner la variable à quelque chose d'autre et false s'il ne doit pas être réaffecté.

11 votes

Lier la documentation est une vertu qui est très appréciée sur les réponses de stackoverflow.

1 votes

@RomainG il y a déjà le lien ci-dessous ;) Mais je vais en ajouter un pour vous

155voto

DarkLegend Points 683

Vous pouvez ajouter des globaux soit par fichier, soit dans votre configuration. Si vous ne voulez pas changer votre configuration, vous devrez ajouter les globaux utilisés dans chaque fichier.

Pour spécifier les globaux en utilisant un commentaire à l'intérieur de votre fichier JavaScript, utilisez le format suivant :

/* global var1, var2 */

Ceci définit deux variables globales, var1 et var2 . Si vous voulez spécifier que ces variables globales ne doivent jamais être écrites (mais seulement lues), vous pouvez les définir avec un drapeau faux :

/* global var1:false, var2:false */

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

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