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 foreverAl 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.