Redémarrer le noeud en changeant un fichier

Pour quelqu’un qui vient de PHP en arrière-plan, le processus de destruction de nœud et de le redémarrer après chaque changement de code semble très fastidieux. Existe-t-il un indicateur lors du démarrage d’un script avec le noeud pour redémarrer automatiquement le noeud lorsque le changement de code est enregistré?

Le module forever a un concept de plusieurs serveurs node.js, et peut démarrer, redémarrer, arrêter et répertorier les serveurs en cours d’exécution. Il peut également surveiller les changements de fichiers et redémarrer le nœud si nécessaire.

Installez-le si vous ne l’avez pas déjà:

npm install forever -g 

Après l’avoir installé, appelez la commande forever : utilisez l’indicateur -w pour surveiller les modifications apscopes au fichier:

 forever -w ./my-script.js 

De plus, vous pouvez regarder le répertoire et ignorer les patterns:

 forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file 

Une bonne option est Node-supervisor et Node.js Restart on File Change est un bon article sur son utilisation, généralement:

  npm install supervisor -g 

et après la migration à la racine de votre application, utilisez les éléments suivants

  supervisor app.js 

Vous mon ami voudriez regarder quelque chose appelé nodemon ( https://github.com/remy/nodemon )

Nodemon surveillera les fichiers du répertoire dans lequel nodemon a été démarré et, s’ils changent, il redémarrera automatiquement votre application de noeud.

Exemple:

 nodemon ./server.js localhost 8080 

ou simplement

 nodemon server 

Différents MNP sont disponibles pour faciliter la vie.

Pour le developpement

node-dev : npm install -g node-dev
nodemon : npm install -g nodemon
superviseur : npm install -g supervisor
pour toujours : npm install -g forever

Pour la production (avec des fonctionnalités étendues telles que le clustering, le déploiement à distance, etc.)

pm2 : npm install -g pm2
Strong Loop Process Manager : npm install -g strongloop

La comparaison entre Forever, pm2 et StrongLoop est disponible sur le site Web de StrongLoop .

Vous pouvez également essayer nodemon

Installer Nodemon

 npm install -g nodemon 

Utiliser Nodemon

Normalement, nous commençons le programme de nœud comme:

 node server.js 

Mais ici vous devez faire comme:

 nodemon server.js 

noeud-dev

node-dev est une excellente alternative à la fois à nodemon et à supervisor pour les développeurs qui aiment recevoir des notifications de growl (ou libnotify) sur leur bureau chaque fois que le serveur redémarre ou en cas d’ erreur ou de modification du fichier.

Installation:

 npm install -g node-dev 

Utilisez node-dev, au lieu de node:

 node-dev app.js 

Notification sur le changement de fichier pour que le serveur démarre automatiquement

entrer la description de l'image ici

console de sortie

entrer la description de l'image ici

J’utilise des runjs comme:

 runjs example.js 

Le paquet s’appelle juste run

 npm install -g run