Que Es NPM
Que Es NPM
Que Es NPM
Una Introducción
al Gestor de Paquetes de Node
Cuando construimos proyectos, usamos varias herramientas para hacer el desarrollo más
fácil y rápido. La mayoría de las veces, estas herramientas son creadas por otros
desarrolladores y se hacen públicas para su uso gratuito.
Imagina construir tu propio framework CSS: Tendrías que crear tus propios sistemas de
diseño, clases de utilidad, diferentes colores y sus matices, miles de líneas de Sass (que
finalmente se compilarán a CSS), numerosos componentes personalizados, pruebas de
errores y financiación, si otros desarrolladores te ayudan a construir dicho proyecto. Esto
puede ser un trabajo tedioso — y caro.
Pero gracias a la creciente cantidad de recursos gratuitos creados por los desarrolladores, es
más fácil que nunca evitar todo ese coste y esfuerzo.
Aunque puedes ver diferentes variaciones del significado de npm, las siglas significan «Node
package manager».
npm es un gestor de paquetes para los proyectos de Node.js disponibles para su uso público.
Los proyectos disponibles en el registro de npm se llaman «paquetes».
npm nos permite utilizar fácilmente el código escrito por otros sin necesidad de escribirlo
nosotros mismos durante el desarrollo.
El registro npm tiene más de 1,3 millones de paquetes que son utilizados por más de 11
millones de desarrolladores en todo el mundo. (Hablaremos más sobre los paquetes más
adelante en este tutorial)
¿Por Qué Usar npm?
Estas son algunas de las razones por las que deberías usar npm:
A medida que avancemos en este tutorial, veremos algunos de los casos de uso de la
interfaz de línea de comandos.
Este comando se utiliza para instalar paquetes. Puedes instalar paquetes de forma global o
local. Cuando un paquete se instala globalmente, podemos hacer uso de la funcionalidad del
paquete desde cualquier directorio de nuestro ordenador.
npm uninstall
npm init
El comando init se utiliza para inicializar un proyecto. Cuando ejecutas este comando, crea
un archivo package.json.
Al ejecutar npm init, se te pedirá que proporciones cierta información sobre el proyecto
que estás inicializando. Esta información incluye el nombre del proyecto, el tipo de licencia, la
versión, etc.
npm update
npm restart
Se utiliza para reiniciar un paquete. Puedes utilizar este comando cuando quieras parar y
reiniciar un proyecto concreto.
npm start
npm stop
npm version
npm publish
Se utiliza para publicar un paquete npm en el registro npm. Se utiliza sobre todo cuando has
creado tu propio paquete.
Después de instalar Node.js, ejecuta los siguientes comandos para ver tus versiones de
Node.js y npm:
node -v
npm -v
Paquetes npm
En esta sección, hablaremos de cómo instalar y desinstalar paquetes npm de forma global y
local, actualizar un paquete, listar paquetes, cambiar la ubicación de un paquete y buscar
paquetes instalados.
Con npm, podemos acceder a numerosos proyectos creados por otros desarrolladores.
Imagina crear tu propio framework CSS; eso llevaría mucho tiempo. Así que los
desarrolladores crean estos proyectos y los ponen en el registro de npm para que podamos
utilizarlos fácilmente y facilitar el proceso de desarrollo.
Un ejemplo de un paquete npm de este tipo es Tailwind CSS, un framework CSS de utilidad
para construir páginas web. Otros paquetes npm populares son React, Chalk, Gulp,
Bootstrap, Express y Vue.js, entre muchos otros.
Cuando instalas un paquete npm de forma global, puedes acceder a él desde cualquier
directorio de tu ordenador.
En esta sección, verás una forma práctica de instalar un paquete globalmente ejecutando un
comando npm en tu terminal.
Ten en cuenta que la bandera -g en el comando es lo que permite a la CLI de npm instalar el
paquete globalmente.
En la sección anterior, vimos cómo instalar un paquete npm globalmente. Ahora vamos a
hablar de cómo instalar uno localmente.
Instalar un paquete localmente significa que sólo puedes utilizar la funcionalidad del paquete
en el directorio actual. Para ello, tendrás que navegar hasta el directorio en el que quieres
instalar el paquete y ejecutar este comando en el terminal:
El comando anterior instalará TypeScript localmente, lo que significa que sólo funcionará en
este directorio actual.
Veamos un ejemplo:
Esta es la sintaxis:
Mantener tu npm y tus paquetes actualizados es la mejor manera de mantener los errores y
los fallos de seguridad lejos de tu código.
Además, al igual que en las secciones anteriores, podemos utilizar la bandera -g para
actualizar un paquete de forma global. Es decir:
Una vez que hayas establecido la nueva ruta para la instalación de paquetes, todos tus
paquetes npm se guardarán allí por defecto.
Cómo Listar Globalmente los Paquetes npm Instalados
npm list -g
Cuando el comando anterior se ejecute con éxito, verás una lista completa de los paquetes
que has instalado previamente en cualquier lugar de tu ordenador.
En la siguiente sección, veremos cómo listar los paquetes npm instalados localmente.
Al igual que en la última sección, también podemos listar los paquetes npm instalados
localmente.
Para ver una lista de los paquetes instalados localmente, ejecuta el siguiente comando en tu
terminal:
npm list
Tienes que ejecutar el comando anterior en el directorio de tu proyecto para ver todos los
paquetes instalados para ese proyecto en particular.
Cómo Buscar Paquetes npm
Hay más de 1,3 millones de paquetes en el registro de npm, todos con diferentes
funcionalidades. El paquete adecuado depende de tus necesidades y objetivos.
Hay paquetes que es necesario utilizar cuando se trabaja con determinados stacks de
desarrollo. Por ejemplo, un paquete popular en React es React Router, que se utiliza para el
enrutamiento en React.
Puedes utilizar la barra de búsqueda del sitio web de npm para buscar paquetes y ver qué
hace cada uno. La mayoría vienen con instrucciones de instalación y detalles de las
características. Busca paquetes que se mantengan con regularidad, es decir, paquetes que
sean probados, corregidos y mejorados a intervalos regulares por los desarrolladores de la
comunidad.
El Archivo Package.json
El archivo package.json nos ayuda a hacer un seguimiento de todos los paquetes instalados
en un proyecto determinado. Al crear un nuevo proyecto, es importante empezar por crear
este archivo.
Almacena información sobre un proyecto, como el nombre del proyecto, su versión, los
scripts, las dependencias, etc.
Puedes hacerlo ejecutando el comando npm init o npm init -y en el terminal del
proyecto. A continuación, sólo tienes que rellenar todas las preguntas que te hace el sistema
al crear el archivo.
Tras generar el archivo package.json, todos los paquetes instalados, junto con sus nombres
y versiones, se almacenarán en el archivo.
Otro uso importante del archivo package.json se ve cuando clonamos proyectos en GitHub.
Cuando los desarrolladores envían su proyecto a un repositorio, dejan fuera la carpeta
node_modules, que contiene nuestros paquetes y sus dependencias.
Para generar tu propia carpeta después de clonar un repo, tienes que ejecutar el comando
npm install en el terminal de tu proyecto. Esto permitirá que npm recorra el archivo
package.json del repositorio e instale todos los paquetes allí listados.
Una vez completada la instalación, podrás utilizar todos los paquetes instalados previamente
para ese proyecto antes de que sea enviado a GitHub.
Cuando instalamos paquetes, se crea una carpeta node_modules en la que podemos ver
otras carpetas, concretamente la carpeta de cada paquete y sus subcarpetas. Puede que te
preguntes por qué están ahí esas otras carpetas si no las has instalado.
Los scripts npm son scripts personalizados definidos en el archivo package.json para
automatizar ciertas tareas. También puedes definir tus propios scripts para automatizar
varias tareas como minificar tu código CSS, reiniciar tu servidor cada vez que se realicen
cambios, construir un proyecto para producción, etc.
Cuando creamos un archivo package.json, suele haber un script test que se genera junto
con el archivo. Podemos utilizar los scripts para realizar una serie de tareas como iniciar un
servidor, minificar nuestro CSS, empaquetar nuestro código para producción, etc.
Un ejemplo popular de uno de estos scripts es el npm run start de React, que pone en
marcha nuestro servidor de desarrollo en localhost:3000.
Al igual que el script anterior, podemos ejecutar otros scripts utilizando esta sintaxis de
comando:
Resumen
A lo largo de los años, npm se ha convertido en una necesidad en el desarrollo de
aplicaciones web basadas en Node.js. npm nos da acceso a millones de proyectos
desplegados por otros desarrolladores que puedes utilizar de forma gratuita para impulsar tu
propio proyecto.
Hay una gran variedad de paquetes npm que van desde frameworks CSS, bundlers de
archivos, frameworks JavaScript, herramientas de backend y mucho más. Estos proyectos
también son seguros para que los utilicen otros desarrolladores, y muchos se mantienen y
actualizan regularmente.
Con npm, el desarrollo de aplicaciones web se ha vuelto más fácil; no tenemos que volver a
crear la rueda. Todo lo que tenemos que hacer es instalar el paquete de otro desarrollador y
ahorrarnos horas de codificación.
Como desarrolladores, también podemos crear nuestros propios paquetes npm y publicarlos
en el registro npm para que otros desarrolladores los utilicen. Al igual que los usuarios de la
comunidad de WordPress contribuyen a la mejora y el éxito de la plataforma, los miembros
de la comunidad de Node.js también pueden hacerlo.
¿Has creado alguna herramienta que te ayude en tu fase de desarrollo y que te gustaría que
otros desarrolladores utilizaran? ¡Comparte tu opinión en la sección de comentarios!