62
votes

Comment supprimer le fichier .eslintCache dans React?

Je suis nouveau pour réagir. J'ai un problème que je ne peux pas résoudre. J'ai un fichier ".eslintcache", qui a été créé pour moi automatiquement dès que j'ai créé une nouvelle application dans React en utilisant "Create-React-App". Je ne sais pas pourquoi j'ai ce fichier. J'ai essayé de le supprimer mais ça revient toujours. J'ai exécuté cette commande - "NPM uninstall -g eslint --save" - ​​pour supprimer le répertoire d'Eslint mais cela n'aide pas. Je ne sais pas comment le gérer, je n'ai pas trouvé de solution, je serais heureux d'aider.

 Entrez la description de l'image ici


0 commentaires

6 Réponses :


9
votes

Ce fichier fait partie de la nouvelle version du package Create-React-App, vous ne pouvez pas éviter de l'ajouter, tout comme les autres fichiers ajoutés. C'est le bundle.


3 commentaires

Oui, à partir de la version 4.0.0.


J'avais deux autres fichiers qui ont été ajoutés "reportwebvitals" et "setipestts" - en ai-je besoin? Je les ai supprimés - cet identifiant la première fois que j'ai vu ces fichiers


Ne supprimez pas simplement les choses, lisez-les avant de supprimer.



37
votes

Cela fait partie du bundle de l'ARC. Je recommanderais simplement de l'ajouter au fichier .gitignore si ce n'est déjà pas là.

du docs eslint :

Stockez les informations sur les fichiers traités afin de fonctionner uniquement sur ceux modifiés. Le cache est stocké dans .eslintCache par défaut. L'activation de cette option peut améliorer considérablement le temps d'exécution d'Eslint en veillant à ce que seuls les fichiers modifiés soient pendés.


1 commentaires

Il est bon de mentionner que ce correctif est temporaire, car l'équipe Create-React-App a récemment fait du travail pour déplacer le fichier .eslintCache sous le dossier Node_Modules / .Cache, qui peut être suivi sur ce pull-request Et ceci problème . Jusqu'à ce que le 4.0.2 soit publié, vous feriez mieux de l'ajouter à votre .gitignore et faites attention aux erreurs Eslint qui n'étant pas mises à jour dans le .eslintCache (voir ce problème commentaire )



6
votes

Cela fait partie de la nouvelle version de React. J'ai également eu des fichiers "reportwebvitals" et "setipestts", je les ai supprimés et tout fonctionne correctement.

Avec "reportWebvitals", vous pouvez suivre les performances de l'utilisateur réelles sur votre site. Et avec "SetUtiptests", vous initialisez l'environnement de test

Cette fonctionnalité est disponible avec react-scripts@4.0.0 et plus

Je n'ai pas besoin de ces propriétés, juste les supprimés et c'est tout, l'EslintCache ne peut pas être supprimé fait partie du bundle.


0 commentaires

37
votes

Cela semble être un nouveau problème dans React App ( Ce problème a ouvert ses portes le 27 novembre, 2020 )

put .eslintcache dans .gitignore aussi:

git rm -rf --cached .eslintcache
git add .

git rm : supprimer les fichiers de l'arborescence fonctionnelle ...

-r : Suppression récursive en cas de nom de répertoire ...

-f ou -force : remplacez la vérification à jour.

Détails: https://git-scm.com/docs/git-rm


0 commentaires

2
votes

J'ai fait face au problème, j'ai essayé de mettre .eslintcache dans .gitignore et d'implémenter la commande git add. mais n'a pas été suffisant, car vous devrait faire git add. Après chaque modification de votre code, et ce n'est pas du tout bien sûr, ce n'est pas un travail propre de toute façon.

Donc, j'ai simplement rétrogradé le react-scripts à @ 4.0.0 , et ce problème s'est complètement dégagé complètement Je pense que le react-scripts @ 4 + n'est pas encore stable


0 commentaires

2
votes

J'ai fini par écrire un plugin personnalisé pour supprimer le .eslintcache avant chaque compilation de montre:

const ESLintClearPlugin = require("./pathtofile");
// webpack config    
plugins: [new ESLintClearPlugin()]

Ensuite, vous l'utilisez dans votre configuration WebPack:

var exec = require("child_process").execSync;

module.exports = class ESLintClearPlugin {
  constructor(options) {
    this.options = options;
  }
  apply(compiler) {
    compiler.hooks.watchRun.tap("ESLintClearPlugin", () => {
      exec("del .eslintcache");
    });
  }
};


0 commentaires