馃敟 MI PRIMERA APLICACI脫N WEB EN NODE.JS: CREA TU PRIMER SERVIDOR WEB

Mi primera aplicaci贸n web en Node.js: Crea tu primer servidor web

驴C贸mo crear un servidor web con Nodejs?

Node incorpora un parser de http (que procesa llamadas y respuestas usando http). Esta librer铆a forma parte del core de Nodejs, es decir que no requiere ser instalada como un paquete adicional. Es esta, la librear铆a que vamos a utilizar para crear nuestro primer servidor web.

Vamos a mandar llamar el m贸dulo http.

var http = require("http");

Ahora necesitamos vamos a llamar a la funci贸n createServer.

var miServidor = http.createServer(function (solicitud, respuesta) {});

La funci贸n createServer require que le proporcionemos una funci贸n an贸nima como callback, esta funci贸n an贸nima recibe dos argumentos, solicitud y respuesta. La solicitud es el objeto que representa la petici贸n (request) que se hace al servidor, mientras que la respuesta (response) se refiere a la respuesta del servidor al cliente.

驴C贸mo definir las cabeceras (headers) de una petici贸n HTTP?

Cuando enviemos un request, vamos a regresar un response con el c贸digo 200, en HTTP el n煤mero 200 representa una conexi贸n exitosa al servidor, que es lo que queremos notificar al cliente. Tambi茅n vamos a notificarle al cliente que el tipo de contenido que vamos a desplegar es texto plano (text/plain).

respuesta.writeHead(200, { "Content-Type": "text/plain" });

La funci贸n writeHead genera las cabeceras del response, como primer argumento recibe el c贸digo del estados de la petici贸n, y como segundo un objeto con las propiedades de la cabecera.

驴C贸mo imprimir el cuerpo de una respuesta de un servidor Node.JS?

Ahora vamos a enviar la otra parte de la respuesta que es el contenido del texto plano, para esto podemos utilizar directamente end que cierra la respuesta y la env铆a al cliente.

respuesta.end("Hola mundo!");

驴C贸mo inicializar un servidor web?

Ya que hemos definido el callback con las cabeceras y el texto hola mundo, vamos a inicializar el servidor. Esto fuera del callback.

miServidor.listen(1111, "127.0.0.1");

La funci贸n listen (escuchar), toma dos valores como argumentos.

  • El puerto en el cual se realizar谩 la conexi贸n (en nuestro caso usamos el 1111).
  • La direcci贸n IP en la cual vamos a escuchar a iniciar el servidor (las direcciones, en nuestro caso usamos la IP 127.0.0.1, esta hace referencia a una direcci贸n IP local, que cuyo nombre es popularmente conocido como localhost).

Suponiendo que tu archivo se llama app.js, ejec煤talo en la terminal con node.

$ node app.js

Este es un proceso que se queda en ejecuci贸n a la espera de las peticiones (requests).

Vamos a abrir la direcci贸n 127.0.0.1:1111 en nuestro navegador (el que desees) y se desplegar谩 el mensaje Hola mundo!.

Realizando cambios a la aplicaci贸n

Intenta por ultimo realizar un cambio en el mensaje Hola mundo!, cambia el mensaje por, Todo va bien!.

respuesta.end("Todo va bien!");

Ahora refresca la ventana del navegador… Los cambios no se ven reflejados.

Cuando node ejecuta un bloque de c贸digo, convierte ese c贸digo en c贸digo m谩quina, por ende si modificamos el archivo este cambio no se ve reflejado a menos que cerremos la aplicaci贸n en la terminal y la volvamos a abrir. Este comportamiento limita bastante al momento de trabajar pues se pierde mucho tiempo terminar e iniciar nuevamente un proceso, veremos como lidiar con lo anterior en los pr贸ximos cap铆tulos.