Resumen

Un módulo es un archivo (de JavaScript) que contiene una parte de la solución de un problema. Un paquete o librería es el conjunto de módulos para resolver un problema. Una dependencia, como su nombre lo indica, es un paquete que tu proyecto necesita para funcionar.

La gestión de dependencias es la forma de compartir recursos creados y validados por terceros entre la comunidad. Los gestores de dependencias permiten organizar, administrar y brindar herramientas para el manejo de paquetes. Esta es la importancia de NPM (Node Package Manager), el gestor de dependencias más popular.

Breve reseña histórica

En 1995, se crea JavaScript, uno de los lenguajes más populares y el único para la interactividad en páginas web. En 2009, se crea Nodejs, un entorno de ejecución de JavaScript en el lado del servidor. En este año también se crea NPM, el gestor de dependencias que nace junto a Nodejs.

Importancia de los gestores de dependencias

Los gestores de dependencias, por ejemplo NPM, permiten organizar, administrar y brindar herramientas para el manejo de paquetes. Esto permite a los desarrolladores trabajar sobre sus propios problemas, sin preocuparse de solucionar otros problemas ya resueltos.

Según sea el caso, puedes utilizar paquetes y módulos en tu proyecto. Sin embargo, el abuso de estos puede generar problemas en tu proyecto, desde la inclusión de bugs, problemas de seguridad, o que el paquete deje de ser mantenido y validado.

La página oficial de NPM permite conocer toda la información de un paquete. Por ejemplo, React es un paquete para construir interfaces gráficas, en la página del paquete de React tendrás información de instalación, participantes, versiones, documentación y posibles soluciones de errores.

Existen otros gestores de dependencias, como Yarn o PNPM. No obstante, en este curso se tratará sobre NPM, ya que es el más popular. Aunque estos gestores comparten funcionalidades en común.

Contribución creada por Andrés Guano (Platzi Contributor).