Node.js y Express: instalación e iniciación

Publicado el 19 agosto 2013 por Codehero @codeheroblog

Node.js, como lo definen sus creadores, es “(…) una plataforma basada en la Chrome JavaScript Runtime para crear aplicaciones web de manera fácil, rápida y escalable. Node.js utiliza un modelo de no-bloqueo orientado a eventos, que lo hace ligero y eficiente, ideal para aplicaciones de data intensiva en tiempo real que se ejecutan a través de dispositivos distribuidos”.

“Express es un framework de aplicaciones web de Node.js mínimo y flexible, que proporciona un robusto conjunto de características para crear aplicaciones web de una o varias páginas, e híbridas”. Si alguna vez has utilizado Sinatra en ruby, encontrarás que express es bastante parecido. Sin embargo, no creas que express es para hacer aplicaciones simples y pequeñas, hay muchas cosas que puedes hacer con él, y como es javacript es muy flexible, puedes moldearlo a tu estilo como quieras.


Instalando Node.js

Instalar nodejs es extremadamente fácil. Solo hay que ir a http://nodejs.org/ y hacer click en el botón de instalar. El explorador descargará un instalador que debemos correr, seguir las instrucciones (siguiente, siguiente, siguiente) y listo.

Ahora si vamos al terminal (consola), podemos comprobar que tenemos node instalado.

$ node --version
v0.10.16

Aquí podemos ver que yo tengo la versión 0.10.15 instalada.


NPM

NPM signifier Node Package Manager, es bastante similar a las gemas de Ruby, con npm instalamos los módulos y paquetes de jode que están disponibles en la web. Comprobemos nuestra instalación de NPM:

$ npm ---version
1.3.8

Yo tengo instalada la versión 1.3.8.


Instalando Express

Express es un módulo de jode, así que lo instalamos con npm:

$ sudo npm install -g express

-g para instalarlo globalmente (para todo el sistema).

Ahora comprobamos nuestra instalación:

$ express --verion
3.3.5

Y vemos que tengo instalada la versión 3.3.5


Generando nuestra primera aplicación

Primero vamos al directorio donde vamos a generar nuestra aplicación. Yo la voy a crear en el escritorio:

$ cd /Users/{nombre de usuario}/Desktop

Y escribimos el siguiente comando en la consola para generar nuestra primera aplicación en express:

$ express helloWorldExpress

   create : helloWorldExpress
   create : helloWorldExpress/package.json
   create : helloWorldExpress/app.js
   create : helloWorldExpress/public
   create : helloWorldExpress/public/images
   create : helloWorldExpress/public/javascripts
   create : helloWorldExpress/public/stylesheets
   create : helloWorldExpress/public/stylesheets/style.css
   create : helloWorldExpress/routes
   create : helloWorldExpress/routes/index.js
   create : helloWorldExpress/routes/user.js
   create : helloWorldExpress/views
   create : helloWorldExpress/views/layout.jade
   create : helloWorldExpress/views/index.jade

   install dependencies:
     $ cd helloWorldExpress & npm install

   run the app:
     $ node app

Y observamos como enseguida se generan un conjunto de archivos y carpetas.

Ahora que tenemos este directorio generado, nos situamos en su contenido e instalamos las dependencias del proyecto.

$ cd helloWorldExpress/
$ npm install

Esto instalará las librerías (módulos) y las dependencias de estas, necesarias para correr nuestro proyecto.

Ahora si vamos al directorio generado (helloWorldExpress), vamos a encontrar una serie de archivos y directorios dentro.

app.js
node_modules
package.json
public
routes
views
  1. Tenemos el archivo app.js, que es donde inicia toda nuestra aplicación. Ya hablaremos de este archivo a lo largo de esta serie.
  2. El directorio node_modules fue creado cuando corrimos el comando npm install. Este contiene las dependencias de nuestro proyecto.
  3. package.json contiene un registro de las dependencias y algunas estadísticas de nuestra aplicación.
  4. Existen otros directorios como public, routes y views con los cuales deberías estar familiarizado si has hecho aplicaciones web con anterioridad, sin embargo estos no son necesarios para tener una app en express, son opcionales.

Vamos a correr esta aplicación.


Corriendo la aplicación

Vamos a la consola y escribimos:

$ node app.js
Express server listening on port 3000

Y node arranca el servidor en el puerto 3000.

Si abrimos el explorador de nuestra preferencia en la pagina http://localhost:3000 vamos a recibir una página de bienvenida a express.

Si volvemos a la consola podemos apreciar como nos indica las rutas que fueron solicitadas para mostrar esta página.

GET / 200 225ms - 170b
GET /stylesheets/style.css 200 6ms - 110b

Conclusión

En este capitulo hemos aprendido como instalar Node.js y Express, y como correr nuestra primera aplicación web utilizando el framework.

Con esto marcamos el inicio de esta serie que te enseñará como programar una de las plataformas más veloces de la web.

Hasta la próxima.