Retomando el tema con Node.js, ahora vamos a explicar los primeros pasos con esta librería y que mejor hacerlo con un manual donde explicaremos como hacer nuestra primera aplicación con Node.js.

Si no tienes instalado Node.js en la entrada anterior (Instalación de Node.js en Windows) tenemos la explicación de como hacerlo y ponerlo en funcionamiento, alli explicabamos que Node que la arquitectura de Node está basada en eventos, es decir que la ejecución del programa está basada por sucesos que pueden ocurrir en el sistema.

Empecemos con nuestra primera aplicación Node.js

Por experiencia sabemos que todos hacemos el famoso “Hola mundo” como primera aplicación, pues nosotros haremos nuestro primer “Hola Iquitos”. Empecemos abriendo nuestra consola de node y escribimos el siguiente comando.

console.log('Hola Iquitos')

Donde obtendremos el sigiuente resultado:

nuestra-primera-aplicacion-node-js

Como ya sabemos dentro de la programación en Node utilizamod el lenguaje JavaScript, por lo que primero vamos a realizar un archivo que se llame servidor.js, y en mi caso lo voy a guardar en una carpeta llamada Node en la unidad C.

Para la edición del programa vamos a utilizar en esta oportunidad el editor Sublime Text, e ingresamos el siguiente código:

nuestra-primera-aplicacion-node-js-codigo

Pasamos a comentar que hace el código anterior, en una primera instancia se crea una variable http, que va guardar el enlace al módulo http de Node, este módulo lo tenemos que importar con npm (lo explicamos mas abajo), seguidamente creamos una instacia del objeto http.creatServer(), y lo guardamos en la variable servidor.

Definimos una función control, está función recibe dos parámetros (petición, respuesta), estos parámetros se encargarán de controlas las peticiones y respuestas desde y hacia el servidor.

El objeto respuesta es el que se encarga de realizar la comunicación con el cliente, es por ello que primero le asignamos la cabecera HTTP indicandole una petición correcta con código 200, los código HTTP lo pueden encontrar en el RFC2616, seguidamente le mandamos un mensaje al usuario indicandole ‘Hola Iquitos’.

Hasta acá ya tenemos nuestra código funcional, pero como mencionamos al inicio, Node funciona en base a sucesos, debemos indicarle que suceso debe esperar para dar una respuesta al usuario, para ello le indicamos las últimas dos líneas de código, que inicie el objeto servidor y este estará esperando un request por parte del usuario, y al suceder ello invocará al método control. Finalmente le indicamos que escuche por el puerto 8080 (hay que percatarnos que dicho puerto se encuentre libre).

Nuestra primera aplicación Node.js en ejecución

Antes de ejcutar la aplicación debemos importar el módulo http, para ello nos dirigimos a la carpeta donde está instalado Node, que enmi caso está dentro de Archivos de Programa, y nos ubicamos en la siguiente ruta: C:Program Files\nodejs\node_modules\npm, allí encontraremos el archivo package.json, copiamos este archivo y lo pegamos en la carpeta Node donde tenemos el archivo servidor.js

Seguidamente desde la terminal de windows ejecutamos el siguiente comando:

nuestra-primera-aplicacion-node-js-npm

Con el comando anterior ya tenemos importado el módulo http en nuestra carpeta Node.js, ahora vamos a ejecutar el programa en la terminal con el siguiente comando: node servidor.js, y ya debemos tener nuestro servidor ejecutándose y esperando una acción en el puerto 8080 por parte del usuario.

Abrimos el navegado y probamos nuestra primera aplicación Node.js, para ello escribimos la siguiente dirección: http://localhost:8080, y debemos tener la respuesta por parte del servidor que está en ejecución.

node-js-primera-app-ejecucion

Finalmente ya tenemos nuestra primera aplicación Node.js en ejecución y funcionando, espero te sea de ayuda si te estas iniciando con Node, y si tienes algún comentario no dudes en hacerlo que estamos para aprender juntos, también te invito a compartirlo en tus redes sociales y si aún no te has suscrito que esperás y tendrás este y otros manuales en tu correo.

[maillite]