Reiniciar nodo al cambiar un archivo

Para alguien que proviene de PHP, el proceso de matar un nodo y volverlo a iniciar después de cada cambio de código, parece muy tedioso. ¿Hay algún indicador al iniciar una secuencia de comandos con nodo para reiniciar automáticamente el nodo cuando se guarda el cambio de código?

El módulo forever tiene un concepto de múltiples servidores node.js, y puede iniciar, reiniciar, detener y enumerar servidores en ejecución. También puede controlar el cambio de archivos y reiniciar el nodo según sea necesario.

Instálalo si aún no lo tienes:

npm install forever -g 

Después de instalarlo, llame al comando forever : use el indicador -w para ver los cambios del archivo:

 forever -w ./my-script.js 

Además, puedes ver el directorio e ignorar patrones:

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

Una buena opción es Node-supervisor y Node.js Reiniciar en File Change es un buen artículo sobre cómo usarlo, generalmente:

  npm install supervisor -g 

y después de migrar a la raíz de su aplicación, use la siguiente

  supervisor app.js 

Usted, mi amigo, querría ver algo llamado nodemon ( https://github.com/remy/nodemon )

Nodemon observará los archivos en el directorio en que se inició nodemon, y si cambian, reiniciará automáticamente su aplicación de nodo.

Ejemplo:

 nodemon ./server.js localhost 8080 

o simplemente

 nodemon server 

Varios NPM están disponibles para facilitar la vida.

Para desarrollo

node-dev : npm install -g node-dev
nodemon : npm install -g nodemon
supervisor : npm install -g supervisor
para siempre : npm install -g forever

Para producción (con funcionalidad extendida como clustering, implementación remota, etc.)

pm2 : npm install -g pm2
Gestor de procesos Strong Loop : npm install -g strongloop

La comparación entre Forever, pm2 y StrongLoop se puede encontrar en el sitio web de StrongLoop.

También puedes probar nodemon

Para instalar Nodemon

 npm install -g nodemon 

Para usar Nodemon

Normalmente comenzamos el progtwig de nodo como:

 node server.js 

Pero aquí tienes que hacer como:

 nodemon server.js 

nodo-dev

node-dev es una excelente alternativa tanto para nodemon como para los supervisores para los desarrolladores a los que les gusta recibir notificaciones growl (o libnotify) en su escritorio siempre que el servidor se reinicie o cuando haya un error o un cambio en el archivo.

Instalación:

 npm install -g node-dev 

Use node-dev, en lugar de node:

 node-dev app.js 

Notificación sobre el cambio de archivo para que el servidor se inicie automáticamente

enter image description here

consola de poner

enter image description here

Yo uso runjs como:

 runjs example.js 

El paquete se llama solo run

 npm install -g run