Nodejs stack

En las últimas semanas he estado usando node-inspector y ha cambiado mi manera de usar node. El debugging se hace en las developer tools de chrome de manera casi tan completa como cuando desarrollo aplicaciones front end (Que son 8 horas diarias, 5 días a la semana).

Al lograr que pase esto he logrado dejar de depender de logs y poco a poco tener el mismo ambiente de desarrollo para el server y el browser, lo cual es una de las cosas más atractivas que promete Nodejs.

En los siguientes párrafos les enseñare como montar el ambiente de desarrollo que estoy usando actualmente. Se requieren usar tres librerías/herramientas de sistemas hechas en node: supervisor, forever, node-inspector.

Empecemos con

> npm install -g node-inspector supervisor forever
Al usar -g instalara estas librerías de manera global y no a nivel del proyecto.

La primera vez que usen node-inspector tendrán que reiniciar el proceso de node, para que apliquen los cambios que instala la librería.

> pgrep -l node
2345 node your/node/server.js

> kill -s USR1 2345

Nota: tendrán un número de proceso distinto

Ahora empecemos nuestra aplicación con:

> supervisor --debug app.js

Con lo cual lograremos que monitore nuestros cambios y resetee el server cada vez. Después necesitamos iniciar el server de node-inspector y para ello usaremos forever, que nos permitirá que cuando node-inspector falle, se recupere de manera inmediata.

> which node-inspector
/usr/local/bin/node-inspector

> forever /usr/local/bin/node-inspector --web-port=9999

Solo necesitas abrir un tab en localhost:9000 y un tab con tu aplicación. Ahora en tu código puedes poner debugger en tu código y checar todo el stack como lo harías normalmente mientras desarrollas una aplicación con javascript.