J'essaie d'installer ESlint pour l'utiliser avec Sublime Text 2 pour tous mes projets locaux. Documentation de configuration n’est pas très clair sur l’installation globale:
Remarque:
eslint --init
est destiné à la configuration et à la configuration d'ESLint projet par projet. Il effectue une installation locale d'ESLint et de ses plug-ins dans le répertoire dans lequel il est exécuté. Si vous préférez utiliser une installation globale d'ESLint, tous les plug-ins utilisés dans votre configuration doivent également être installés de manière globale.
Je ne comprends pas ce qu'ils veulent dire. J'ai utilisé eslint --init
et ESlint a été installé localement dans node_modules
, avec tous les plugins. Il n'y a rien expliqué sur l'installation de plugins globalement. Comment je fais ça? Aussi, comment utiliser l'installation globale ESlint si eslint --init
en installe quand même une locale? C'est tellement déroutant.
Vous pouvez installer des modules de nœuds dans le projet (localement) ou globalement. Pour basculer sur globalement, vous pouvez utiliser le drapeau -g
, comme suit:
npm install -g eslint
Ensuite, voyez si cela fonctionne sans Sublime Text (drapeau -v
pour voir la version de eslint):
eslint -v
Pour voir où il a été installé (en supposant que MacOS/Linux):
which eslint
Ensuite, voyez si cela fonctionne dans Sublime Text (vous devrez peut-être d'abord redémarrer Sublime). Si cela ne fonctionne pas, assurez-vous que le chemin est correct dans les paramètres du paquet eslint.
Pour installer eslint globalement: npm install -g eslint
Pour installer eslint dans votre dossier de projet: npm install eslint --save-dev
Ajoutez dans package.json
ce script: "eslint": "eslint --ignore-path .gitignore ."
Créez un fichier appelé .eslintrc
et insérez:
{
"env": {
"browser": true,
"node": true
},
"globals": {
"chrome": true
},
"rules": {
"no-console": 0,
"no-empty": [1, { "allowEmptyCatch": true }]
},
"extends": "eslint:recommended"
}
Personnellement, je sauvegarde ce fichier dans mon dossier js
Aller au node_modules/.bin
eslint --init
Ou npm run eslint nameOfYourFile
L'hypothèse est que vous avez un plugin eslint installé pour votre éditeur. Si vous avez alors npm install -g eslint
, vous pouvez installer des add-ons pour des environnements spécifiques, comme npm install eslint-config-airbnb eslint-plugin-react eslint-plugin-jsx-a11y eslint-plugin-import -g
(il s'agit du support de JS pur et de React), vous pouvez ainsi ajouter un support pour nodejs aussi, dans le dossier de travail, créer un fichier .eslintrc qui ressemble à ceci
{
"extends": ["airbnb" , "eslint:recommended"],
"env": {
"node": false,
"es6": true,
"browser": true
},
"rules": {
"semi":"error",
"no-unused-vars": "off",
"func-names":"off",
"indent":"off",
"no-else-return":"off",
"prefer-arrow-callback":"off",
"no-undef":"off",
"no-use-before-define":"off",
"comma-dangle":"off",
"eol-last":"off",
"no-trailing-spaces":"off",
"linebreak-style":"off",
"no-console":"off",
"no-restricted-globals":"off",
"object-shorthand":"off",
"no-shadow":"off",
"no-debugger":"off",
"prefer-const":"off",
"no-multiple-empty-lines":"off"
}
}
si vous avez besoin d'un support de nœud, définissez le nœud sur 'true' dans la section env de .eslintrc et installez également le plug-in eslint-node globalement avec le prochain npm i eslint-plugin-node -g
. Ensuite, dans la section extensions de .eslintrc, ajoutez "plugin:node/recommended"
. De cette manière, vous aurez la prise en charge de eslint dans chaque projet de votre machine comportant des règles .eslintrc file.Set dont vous avez besoin dans la section .eslintrc rules C'est tout.