J'attribue une propriété à l'objet global window, mais lorsque j'exécute eslint, j'obtiens ceci:
"fenêtre" n'est pas défini
Je vois cela ici dans la documentation eslint :
ce qui suit définit window comme une variable globale pour le code qui ne doit pas déclencher la règle testée:
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
J'ai essayé d'ajouter quelque chose comme ça au fichier package.json pour que eslint autorise "window" comme variable globale, mais je dois faire quelque chose de mal. D'après la documentation, il me semble que je devrais peut-être faire quelque chose comme ça dans un fichier séparé, mais existe-t-il un moyen de définir certaines variables globales autorisées directement dans le fichier package.json?
global
vous devez vous assurer qu'il"node": true
est défini dans votre"env"
configuration.Réponses:
Il y a un builtin
environment: browser
qui inclutwindow
.Exemple
.eslintrc.json
:Plus d'informations: http://eslint.org/docs/user-guide/configuring.html#specifying-environments
Voir également la
package.json
réponse de chevin99 ci-dessous.la source
.eslintrc
nonpackage.json
/* eslint-env browser */
Je l'ai trouvé sur cette page: http://eslint.org/docs/user-guide/configuring
Dans package.json, cela fonctionne:
la source
Ajoutez
.eslintrc
la racine du projet.la source
.eslintrc.json
peut juste être.eslintrc
Votre .eslintrc.json doit contenir le texte ci-dessous.
De cette façon, ESLint connaît vos variables globales.
la source
Je sais qu'il ne demande pas la version en ligne . Mais comme cette question a près de 100000 visites et que je suis tombé ici à la recherche de cela, je la laisserai ici pour le prochain codeur:
Assurez-vous que ESLint n'est pas exécuté avec l'
--no-inline-config
indicateur (si cela ne vous semble pas familier, vous êtes probablement prêt à partir). Ensuite, écrivez ceci dans votre fichier de code (pour plus de clarté et de convention, il est écrit au-dessus du fichier mais cela fonctionnera n'importe où):Cela indique à ESLint que votre environnement de travail est un navigateur, donc maintenant il sait quels éléments sont disponibles dans un navigateur et s'adapte en conséquence.
Il existe de nombreux environnements et vous pouvez en déclarer plusieurs à la fois, par exemple en ligne:
Si vous utilisez presque toujours des environnements particuliers, il est préférable de le définir dans le fichier de configuration de votre ESLint et de l'oublier.
D'après leurs documents :
Outre les environnements, vous pouvez lui faire ignorer tout ce que vous voulez. S'il vous avertit de l'utilisation
console.log()
mais que vous ne voulez pas en être averti, juste en ligne:Vous pouvez voir la liste de toutes les règles , y compris les règles recommandées à avoir pour les meilleures pratiques de codage .
la source
Si vous utilisez Angular, vous pouvez le faire avec:
la source