4
votes

nodemon "redémarrage en raison de modifications ..." s'affiche à plusieurs reprises dans VSCode et ralentit chaque processus de redémarrage

J'utilise nodemon version 1.18.9 (dernière version à ce jour).

J'utilise Visual Studio Code (VSCode). J'ouvre un terminal et j'exécute nodemon dev-server.js mais il l'affiche à plusieurs reprises

redémarrage en raison de modifications ...

comme suit

 nodemon-restarting

et après quelques secondes, il terminera son processus de redémarrage.

J'utilise Windows 10.

Des suggestions?


0 commentaires

3 Réponses :


1
votes

Je suppose que vous devez modifier les paramètres du VSCode, allez dans Fichier-> Enregistrement automatique (décochez l'option). Après cela, le projet ne redémarrera que lorsque vous utiliserez ctrl + s sur le chemin spécifique.


Edit: j'ai fait quelques tests sur mon ordinateur et j'ai reproduit ce que vous essayez de dire, probablement que vous essayez d'utiliser différentes extensions que nodemon ne supporte pas. Jetez un œil à cette partie de la documentation :

Spécification de la liste de surveillance des extensions Par défaut, nodemon recherche les fichiers avec les extensions .js, .mjs, .coffee, .litcoffee et .json. Si vous utilisez l'option --exec et surveillez app.py nodemon surveillera les fichiers avec l'extension .py. Cependant, vous pouvez spécifier votre propre liste avec le commutateur -e (ou --ext) comme ceci:

nodemon -e js, jade Maintenant, nodemon redémarrera sur toute modification des fichiers dans le répertoire (ou sous-répertoires) avec les extensions .js, .jade.

essayez d'exécuter nodemon -e ts, json (toutes les extensions que vous voulez écouter) dev-server.js . Lorsque j'ai supprimé l'extension, j'ai eu le même problème avec vous.


7 commentaires

Pouvez-vous m'envoyer le script exact de nodemon? Vous devez peut-être régler la surveillance à l'aide de --watch.


Je ne sais pas ce que vous entendez par script nodemon. J'exécute uniquement cette commande ( nodemon dev-server.js ) dans le terminal VSCode.


Avez-vous vraiment besoin d'écouter toute l'application? Essayez d'ajouter la balise --watch pour spécifier le chemin d'accès à l'écouteur. Essayez: nodemon --watch someFolder / someFile --exec dev-server.js ou nodemon dev-server.js --watch someFolder / someFile


Oui, je veux regarder toute l'application. J'ai essayé ce que vous avez suggéré avec le truc --watch, mais cela ne fonctionne pas. Cela fonctionne toujours comme ce que j'ai publié dans la question, même si ce nodemon est la seule chose qui fonctionne sur tout ce projet.


J'ai essayé nodemon -e js, json dev-server.js . Ça ne marche pas. Il affiche toujours beaucoup de texte de redémarrage répétitif.


De plus, je n'ai pas d'extensions installées dans le VSCode.


Je ne suis pas sûr, mais je dirais qu'il y a un problème avec nodemon et Windows 10. J'ai les mêmes problèmes, et pour autant que je me souvienne, je n'ai jamais eu de problèmes dans les versions antérieures de Windows. Juste ma annonce de 0,02 €



5
votes

package.json

$ nodemon dev-server.js
save dev-server.js file, nodemon is all right

osx 10.11.3
nodemon 1.9.2

démarrer nodemon par npm

$ npm run nodemon
save dev-server.js file, nodemon will restart twice

démarrer nodemon direct

   {
      "scripts": {
        "nodemon": "nodemon dev-server.js"
      },
    }


9 commentaires

Que dois-je faire exactement?


Supprimez le dossier ~ / .node-gyp et reconstruisez fsevent pour résoudre le problème. Êtes-vous sous Mac OSX?


OK, essayez d'ajouter un délai pendant un certain temps. Laissez-moi savoir si cela fonctionne. nodemon lib / dev-server.js --delay 1 .. quel que soit votre répertoire.


L'ajout de --delay 1 fonctionne. Je l'ai essayé mais je veux un moyen d'utiliser simplement la commande comme quoi elle devrait être utilisée. Comme juste nodemon dev-server.js. Je ne veux pas me souvenir d'avoir ajouté --delay 1 à chaque fois que j'ai besoin de le faire. J'attendrai simplement les meilleures solutions possibles. S'il n'y en a pas, j'accepterai cela à la fin.


Ok, eh bien, c'est compliqué, mais avez-vous essayé de supprimer l'installation globale du nodemon et de la réinstaller. désinstaller npm -g nodemon npm installer -g nodemon


continuons cette discussion dans le chat .


Ce --delay 1 fonctionne au démarrage du processus. Après plusieurs jours de travail, il a toujours tendance à donner du texte de redémarrage répétitif, mais pas autant qu'avant. Donc, cela ne résout pas entièrement le problème. Il est prouvé qu'il résout la pièce lorsque je l'appelle, mais pas quand elle détecte réellement les modifications et redémarre.


essayez alors d'augmenter le temps de retard pendant quelques secondes. C'est juste un frère hack.


Sûr. Je pense que c'est la seule solution de contournement qui fonctionne jusqu'à présent. Veuillez donc mettre à jour votre réponse pour inclure --delay et une explication à ce sujet afin que les autres personnes qui ont ce problème trouvent facilement la solution.



0
votes

J'ai une étape tslint dans mon fichier package.json avec l'option --fix :

"prebuild": "tslint -c tslint.json -p tsconfig.json --fix",

Après avoir apporté de nombreuses modifications à mon code, en démarrant l'application avec nodemon , j'ai vu beaucoup de redémarrer en raison de changements ... messages alors que tslint réparait l'application.

Attendez peut-être la solution ;-)


0 commentaires