web-dev-qa-db-fra.com

ESLint: 'chrome' n'est pas défini (no-undef)

J'ai ajouté ESLint à mon projet d'extension chrome. J'utilise chrome qui commence par chrome., mais évidemment eslint pointe dessus comme une erreur.

Je suppose que cela devrait être quelque chose comme:

"env": {
  "browser": true,
  "chrome": true,
  "es6": true
},

mais apparemment ce n'est pas le cas.

PD: Je considérerais que la meilleure réponse est d'ajouter webextensions: true - comme l'a suggéré wOxxOm. Parce que c'est une extension chrome extension - chrome. L'API est largement utilisée ici.

Sinon, ajouter /* global chrome */ comme d'autres l'ont suggéré fonctionnerait mieux.

Merci pour les réponses.

22
Yuri Tymochko

Vous devez ajouter:

"env": {
    // ...
    "webextensions": true
}

à ton .eslintrc.json configuration de fichier ou eslint en général.

16
Daniel Kmak

Vous pouvez l'ajouter dans votre fichier de configuration eslint pour ajouter une variable globale

"globals": {
    "chrome": true
}
4
hiluluke

Comme mentionné dans les commentaires, il n'y a pas d'environnement chrome, vous pouvez trouver plus d'informations sur les environnements configurables dans eslint docs .

Vous pouvez spécifier des globales pour chaque fichier en tant que commentaire de première ligne, ou dans votre fichier de configuration, voir spécifiant global . Vous pouvez également écrire votre Eslint personnalisé Chrome qui définit les options globales et d'analyseur (c'est ce qu'un environnement fait pour vous) et l'importer dans votre fichier de configuration.

1
holmberd