web-dev-qa-db-fra.com

ESLint: Comment paramétrer .eslintrc pour qu'il reconnaisse 'besoin'?

Je suis nouveau sur ESLint , et j'ai réussi à intégrer ESLint avec IntelliJ .

Hors de la boîte, mon intégration d'ESLint n'a pas reconnu node, mais un examen de base de la documentation a clairement montré qu'en créant le fichier de configuration nommé .eslintrc À la racine de mon dossier de projet (avec Paramètre IntelliJ pour accéder à ce fichier) et le paramètre "node":true, ESLint reconnaît node (c'est-à-dire les travaux complets suivants .eslintrc).

// Contents of .eslintrc at root of project - support for Node and jQuery
{
  "env" : {
    "node" : true,
    "jquery" : true
  },
}

Cependant, ESLint ne reconnaît toujours pas require(), comme en témoigne cette capture d'écran:

ESLint does not recognize <code>require()</code>

J'ai fait de mon mieux dans un laps de temps raisonnable à la recherche d'une solution à la question fondamentale de savoir comment ESLint reconnaître require(). En particulier, j'ai trouvé un indice possible ici , où il a suggéré d'ajouter "AMD":false Dans (je présumais) le fichier .eslintrc - mais non.

Cela semble basique. Comment puis-je faire en sorte que .eslintrc Reconnaisse require()?

(Si, dans votre réponse, vous pouvez fournir des informations sur la manière de couvrir des cas plus généraux, cela serait également utile. Merci!)

41
Dan Nissenbaum

Le problème n'est pas avec ESLint. Si vous regardez attentivement votre message, il dit JSHint .

Puisque vous essayez de configurer ESLint, la solution la plus simple serait de désactiver ou de supprimer le plugin JSHint de votre IDE.

Si vous souhaitez toujours utiliser JSHint avec ESLint, vous pouvez effectuer les opérations suivantes:

Solution à fichier unique: ajoutez /* global require */ en haut de votre fichier.

Solution générale pour tous les fichiers: ajoutez "node": true ligne vers votre .jshintrc.

24
Marko Grešak

L'ajout de AMD à env à l'intérieur de .eslintrc Vous permettra d'utiliser define() et require(), selon le AMD spec:

{
  "env": {
    "AMD": true
  }
}
71
Nick Avi

"AMD": vrai dans env définit require () et define () comme variables globales selon la spécification AMD.

Voir http://eslint.org/docs/user-guide/configuring#specifying-environments

4
Fabio Marasco