Como depurar aplicaciones de Node.JS
Anuncio:
¡Hola! Seguimos con una nueva entrada referente a Node.JS, en este caso vamos a ver cómo hacer debugging de una aplicación.
Vamos a continuar el ejemplo que comenzamos en la entrada que trata sobre como crear nuestra primera aplicación en node.js.
Entremos en materia, lo primero que debemos hacer es instalar los paquetes node-inspector, supervisor y forever.
npm install -g node-inspector supervisor forever
El -g para hacerlo de forma global.
¿Que qué hace cada uno? Node-inspector será el que nos permita depurar nuestra aplicación, Supervisor nos evita tener que tumbar y volver a levantar nuestro servidor cada vez que hagamos un cambio, y forever, nos va a permitir dejar ejecutando node-inspector en background por tiempo indefinido.
Ya estamos listos para empezar el proceso de depuración, hasta ahora, habíamos inicializado el servidor de node con la instrucción
node server.js
Sin embargo, para que node inspector pueda depurar, debemos ejecutar supervisor, que se encargará de levantar el servidor, y forever que se encargará de ejecutar el depurador indefinidamente, ejecútalas en 2 ventanas distintas de la terminal.
supervisor --debug server.js
forever /usr/local/bin/node-inspector --web-port=9999
Veremos que forever nos da un mensaje como el siguiente:
Visit http://127.0.0.1:9999/debug?port=5858 to start debugging.
Si vamos a esa dirección, veremos que se nos muestra una interfaz similar a la de herramientas de desarrolladores de Chrome, aunque vacía, de momento.
Bien, ahora lo más importante, vamos a declarar un breakpoint en nuestro código para probar que todo funciona, teníamos algo tal que así:
var express = require('express');
var server = express();
server.get('/', function (req, res) {
debugger;
res.send('Hello World From Node');
});
server.listen(3000);
console.log('Servidor corriendo en http://127.0.0.1:3000');
Si nos fijamos, el breakpoint se declara con la palabra ‘debugger’. Ahora, mientras están corriendo node-inspector y supervisor, vamos a http://localhost:3000, y, si nos fijamos, no nos aparece nada en la pantalla, eso es por que la ejecución se paró en el breakpoint.
Ahora vamos a la pestaña de node-inspector y vemos que la ejecución está parada, podemos hacer cualquier cosa que hacemos en la consola de chrome, como, por ejemplo, ver el estado de las variables.
Si continuamos la ejecución, veremos que en la pestaña donde se ejecuta nuestro servidor nos aparece el mensaje Hello World From Node.
Esto ha sido todo, espero que os haya resultado útil.
Para cualquier consulta, déjanos un comentario.
HackSaludos!