Servidor básico con Node.js

Logotipo nodejs

Logotipo nodejs

Si estas buscando el término nodeJS es porque no eres un novato cualquiera y tienes interés por generar algo más que una aplicación de nivel de preparatoria. Pues en esta ocasión, crearemos un servidor de lo más sencillo con esta tecnología pero que te dará pie a entender y crear algo mucho más complejo. Empezamos?
En primera instancia, tenemos que instalar nodeJS y esto, según la plataforma, se hace de diferentes formas que puedes revisar en el sitio oficial de node, donde encontrarás el archivo instalador para Mac o Windows, o en el caso de Linux tan sencillo como usar

apt-get install node

.
En segunda instancia, una vez instalado nodeJS y su administrador de paquetes, NPM o Node Package Modules, haremos la instalación de Express, que es un framework que tiene todo lo necesario para levantar el servidor que pretendemos crear. Para hacer esto se ejecuta el siguiente comando.
En el caso de mac o linux

sudo npm install -g express

En el caso de windows sólo quitamos la palabra sudo.
*Nota: En el caso de la nueva versión express 4, hay un detalle y que provocará errores, por lo menos a mi me los mostró en Mac y es que el comando express, que se supone se instala en la terminal, no hace una copia automática en la carpeta bin, que es donde se añaden todos los comandos para ejecutarse directamente desde consola. Pues para resolver esto es necesario instalar otra dependencia de node con el comando:

sudo npm install -g express-generator

Con este comando ya podemos probar con

express --help

que efectivamente ya se encuentra funcionando el comando express y tendremos todo lo necesario para ahora si irnos hacia el servidor que pretendemos activar.
En alguna carpeta de tu disco local crearemos un archivo con extensión js donde pondremos las instrucciones necesarias para levantar el servidor, en mi caso tengo una carpeta llamada Sites en la que tengo todos mis proyectos de aplicaciones, por lo que crearé una carpeta llamada node para este ejemplo.

Dentro de la carpeta mencionada hice un archivo llamado back.js el cual tendrá las siguientes líneas de código, que explicaré enseguida.

var express = require('express');
var web = express();
var server;

server = web.listen(8080, function(){
	console.log('Servidor funcionando');
});

web.get('/', function (req, res){
	res.send('Funciona el servidor web con nodejs');
});

en lo que corresponde a las primeras tres lineas, se usan para declarar las variables que contendrán el servidor a través de las instancias de express.
Al usar el comando require, se le dice al servidor que es absolutamente necesario el usar express y que queremos almacenarlo en la variable del mismo nombre.
En la segunda línea, se crea una instancia del objeto express, la cual nos permitirá utilizar todas las herramientas y funciones con las que cuenta.
La variable server, la declaramos como vacía pero para ser usada en la linea siguiente, donde le explicamos al servidor, que requerimos que escuche de manera indefinida al puerto donde se recibirán los datos correspondientes. En este caso en específico es en el puerto 8080 y al empezar a funcionar, nos desplegará en la consola el mensaje “Servidor funcionando”.
Por último, para hacer una prueba de que esta funcionando nuestro servidor, declararemos una ruta que devolverá un resultado, en esta ocasión será un mensaje de “Funciona el servidor web con nodejs” a través de la función send del parámetro res o response de la función que se ejecutará cada vez que se entre a la dirección localhost:8080.

Con esto tenemos lo básico, pero que nos falta?, solo el correr el servidor y ver funcionando nuestra primer página servida por nodejs, lo cual se hace en la terminal y ejecutando el comando

node back.js

donde se deberá sustituir el nombre back por cualquier nombre que tenga el archivo donde se define el servidor. Si todo sale bien, en la terminal se verá el mensaje “Servidor funcionando”.

Para poder revisar que efectivamente esta funcionando, ve en tu navegador preferido a la dirección http://localhost:8080 y te mostrará el mensaje “Funciona el servidor web con nodejs” tal y como lo programamos en la función de respuesta al web.get().

Con esto considero que tienes los elementos necesarios para hacer un servidor con solo lo necesario para las tareas que consideres pertinentes. Si tienes algún problema, no dudes en contactarme, mis redes sociales se encuentran en la parte inferior, o visíta mi sitio web en este enlace. Pronto volveré con más información al respecto.