Vamos a ver una herramienta que hoy en dia es muy usada, así la podremos incorporar en nuestros proyectos para facilitarnos un poco nuestro dia a dia.
CLI
Empecemos viendo un concepto básico, CLI. Pero ¿Que es CLI?
Las siglas se refieren a “Comand Line Interface”, es una interfaz basada en texto que a través de comandos ejecuta ciertas acciones, tanto el input y el output de estas se muestran en la misma interfaz.
Hoy en día fueron reemplazadas por las GUI (“Graphical User Interface”) que son más amigables de usar para los usuarios, pero en el mundo del desarrollo CLI se usa habitualmente.
npm
Es hora de hablar de npm la verdadera razón por la que estamos en este articulo.
Las siglas se refieren a “Node Package Manager”, básicamente es un repositorio en línea para los proyectos open-source de Node.js, y provee una serie de comandos para interactuar con dicho repositorio, estos ayudan con la instalación de módulos, el manejo de versiones y el manejo de dependencias.
Una vez que hayamos encontrado un módulo (en la web de npm los podremos encontrar) que queramos usar lo único que debemos hacer es ejecutar el siguiente comando:
npm install [NOMBRE DEL MÓDULO DESEADO]
El módulo será instalado en el directorio “node_modules”, si el directorio no existe se creará e instalará el modulo en el, todo esto es para la instalación local para un proyecto, es decir, nos sirve para importar la librería en nuestro proyecto.
Si por el contrario queremos instalarlo globalmente, esto va a habilitarnos a correr el programa como si fuese cualquier otra herramienta de CLI, esto se logra con el siguiente comando:
npm install [NOMBRE DEL MÓDULO DESEADO] -g
¿Qué hacemos si nos clonamos un repo de un proyecto que usa npm?
Pero no siempre vamos a incluir módulos nuevos, a veces necesitamos importar los que necesita un proyecto existente. Para descargarnos todas las dependencias de este solo vamos a tener que ejecutar un comando en la raíz del proyecto:
npm install
Este comando va a revisar el “package.json” y va a instalar todas las dependencias que aparezcan ahí.
Conclusión
Me gustaría que se lleven la ventaja que nos brinda npm para el manejo de dependencias, y tambien para instalar nuevas que necesitemos, solo tenemos que buscar el módulo que queramos en la web de npm y es muy sencillo instalarlo y empezar a usarlo, también nos sirve para tener repos más pequeños ya que no vamos a tener que commitear un módulo entero sino que simplemente podemos commitear el package.json y con eso tendríamos todas las dependencias necesarias para correr el proyecto.