NPM, de lo básico a lo práctico I
Compartir

En esta nueva publicación, he querido empezar a escribir sobre una herramienta que todo o casi todo programador actualizado debería haber utilizado en algún momento (o al menos haberlo escuchado), me refiero al famoso NPM.
NPM son las iniciales de Node Packaged Manager, herramienta que ofrece una de las características más poderosas de Node.js, la cual es la habilidad de ser extendido con facilidad mediante módulos llamados Node Packaged Modules (NPMs).
Los módulos antes mencionados, corresponden a librerías que pueden ser compartidas y reutilizadas entre diferentes proyectos.
Configuración de los Módulos
Cada módulo posee un archivo de configuración llamado package.json (sí, el que la mayoría de los desarrolladores Angular deberían haber configurado en sus proyectos).
Este archivo corresponde a una estructura JSON que incluye metadata importante para la descripción del módulo, la cual es utilizada en procesos tales como la instalación y publicación de los módulos (nombre, versión, autor, dependencias, etc.).
Ejemplo de archivo package.json:
{
"name": "app1",
"version": "1.0.0",
"description": "Description for app1",
"private": true,
"license": “UNLICENSED”,
"cacheDirectories": [
"node_modules"
],
"dependencies": {
"@angular/common": "5.2.0",
"@angular/compiler": "5.2.0",
"@angular/core”: "5.2.0",
"@angular/forms”: "5.2.0",
"@angular/platform-browser": "5.2.0",
…
}
Distribución de los Módulos
Existe un registro general de módulos denominado Node Package Registry, el cual nos permite compartir nuestros propios módulos como así también descargar módulos creados por otros desarrolladores.
El registro se encuentra en la siguiente url: https://www.npmjs.com/ :
Algunas imágenes del registro:


El Node Package Manager tiene un utilitario de línea de comandos denominado npm, el cual actúa como un mediador entre el Node Package Registry y el entorno de desarrollo de la aplicación que estemos construyendo.
Utilización Básica
La utilización más común del comando npm es para instalar dependencias en un proyecto en particular. Para importar un módulo, utilizaremos el comando npm install <nombre_modulo>, el cuál descargará el módulo y sus dependencias en el entorno de desarrollo de la aplicación, dentro del directorio node_modules, en la raíz del directorio en el cual se ejecutó el comando.
Una vez descargado el módulo y todas sus dependencias en el directorio node_modules, ya es posible importarlo dentro de nuestra aplicación para su utilización.
Esta breve primera parte teórica, pretende dar las ideas principales sobre la herramienta NPM. En las publicaciones posteriores veremos un ejemplo práctico de cómo crear nuestra propia librería publicada en el Node Package Registry, de manera de poder utilizarla en diferentes proyectos.