En el anterior tutorial sobre Node.js
aprendimos a instalar este entorno en nuestro sistema y realizamos el primer programa Hello World. En este vamos a conocer la herramienta NPM que nos va a ayudar con el desarrollo de nuestros proyectos.
NPM es un gestor de módulos y aplicaciones para Node.js
, con el cual los desarrolladores podemos crear, compartir y reutilizar módulos en nuestras aplicaciones. Nos permite utilizar desde pequeños módulos hasta aplicaciones completas de un cátalogo que a día de hoy es bastante extenso.
Como instalar NPM
Si hemos instalado Node.js
desde uno de los instaladores, ya tenemos instalado NPM. Por el contrario, si hemos instalado Node.js
desde los archivos fuentes es necesario seguir las instrucciones de la página oficial.
Para comprobar que tenemos npm instalado ejecutamos el comando npm
desde la consola de comandos. Esta será la salida.
Instalar módulos
Hay dos formas de instalar módulos en NPM. Es muy importante saber cómo funcionan por que dependiendo de nuestras necesidades optaremos por usar una u otra.
Localmente
Con la instalación local el módulo deseado se instalará localmente en el proyecto que estemos trabajando en una carpeta llamada node_modules
.
Esta carpeta se crea automáticamente cuando instalemos un módulo ejecutando el siguiente comando:
$ npm install [nombre_modulo]
Si por ejemplo nuestra aplicación Node.js
se llama app.js
la estructura de carpetas que tendremos será la siguiente:
- app.js
- node_modules
- nombre_modulo
Esta es la forma más común de instalar módulos en Node.js
y también la más recomendada.
Globalmente
En Node.js
hay módulos/aplicaciones que permiten utilizarlos mediante la línea de comandos desde cualquier lugar de nuestro sistema de archivos. En este caso lo recomendable es instalarlos de forma global con el siguiente comando:
$ npm install -g [nombre_modulo]
Al hacerlo así podremos usar el modulo en cualquiera de nuestros proyectos.
Localizar la documentación del modulo
Si queremos consultar la documentación de un módulo en el navegador (siempre que tenga el fichero .md
creado) utilizaremos el siguiente comando:
$ npm docs [nombre_modulo]
Esto abrirá nuestro navegador hacia la página de la documentación que creo el autor, normalmente un vínculo a la página README.md
de GitHub.
Utilizar los módulos
Para utilizar los módulos, que acabamos de instalar, desde nuestras aplicaciones Node.js
, tan solo debemos seguir esta sintaxis:
var modulo = require('modulo');
El archivo package.json
Una tarea fundamental para trabajar con NPM es conocer el archivo package.json.
Utilizar este archivo en nuestros proyectos tiene muchas ventajas:
- No tenemos que instalar módulos uno a uno ya que se van a descargar de forma automática.
- Facilita la instalación de nuestra aplicación a otros desarrolladores.
- Todos los ficheros y documentación de una determinada aplicación se almacena en un solo lugar.
Este archivo se debe crear en la raíz de nuestro proyecto: de tal manera que quede como se muestra a continuación:
app.js
package.json
node_modules
El aspecto más sencillo de un archivo package.json
es el siguiente:
https://gist.github.com/rsdiaz/0d8ac135a7fcd738d1a56c3b21f7c149
De esta manera si nuestra aplicación usa diferentes módulos no haría falta instalarlos uno a uno, tan solo ejecutaríamos el siguiente comando (siempre desde la raíz de nuestro proyecto):
$ npm install
NPM leerá las dependencias incluidas en el archivo package.json
y realizara la instalación de los módulos necesarios para nuestro proyecto. De igual manera a la hora de compartir nuestra aplicación, no haría falta copiar el contenido de la carpeta node_modules
porque estas dependencias ya estarían incluidas en el JSON.
Una práctica muy común a la hora de compartir nuestra aplicación en GitHub es añadir al fichero .gitignore
la carpeta node_modules
, así cuando un usuario se descargue nuestra aplicación, con el comando npm
install instalará todas sus dependencias.
Hasta aquí este tutorial sobre el uso de NPM, un componente muy importante en el desarrollo de aplicaciones con Node.js
. En el próximo tutorial nos pondremos manos a la obra y vamos a ver cómo utilizar Express, un framework para crear aplicaciones web con Node.js
.
Os dejo unos enlaces donde podréis ampliar y complementar todo lo que hemos visto en este tutorial:
- Instalación del entorno Node.js y algo más
- Gestor de módulos de Node.js
- Manual de uso oficial
- Express Framework. Para el desarrollo de aplicaciones web en Node.js
- El concepto de Framework