Las dependencias hacen posible la reutilización efectiva del código. Asegúrate de saber cómo gestionarlos en tus proyectos de Node.

Una dependencia es una pieza de código (una biblioteca, un módulo o un paquete) que un proyecto requiere para funcionar correctamente.

En Node.js, las dependencias y devDependencies son categorías de paquetes que puede definir en su archivo package.json para administrar las dependencias de su proyecto. Explora sus diferencias y aprende a utilizarlas en tus proyectos.

Dependencias regulares en un proyecto npm

Las dependencias regulares, o simplemente dependencias, son paquetes que su aplicación requiere para funcionar según lo previsto en tiempo de ejecución y en entornos de producción.

Las dependencias pueden incluir:

  • Bibliotecas externas que ofrecen funcionalidad prediseñada, como lodash.
  • Marcos que proporcionan una base o estructura para crear aplicaciones, como Express o React.
  • Controladores de base de datos, como MongoDB o sqlite3.
  • Paquetes que ayudan en tareas relacionadas con la red, como Axios o Socket.io.
instagram viewer

Por ejemplo, si está construyendo un API CRUD con Express.js, expresar será una de sus dependencias porque su servidor lo necesita para funcionar.

Para instalar las dependencias de tiempo de ejecución, puede usar un administrador de paquetes como npm, el administrador de paquetes de nodos, o hilo.

Las dependencias existen bajo el objeto de dependencias en un archivo package.json. El objeto de dependencias almacena los nombres y versiones de los paquetes.

Para instalar un paquete como una dependencia usando NPM, ejecute el siguiente comando:

instalar npm 

El comando anterior instala el paquete y lo registra como una dependencia de su proyecto en paquete.json:

// paquete.json

"dependencias": {
"Nombre del paquete": "^versión-paquete",
}

Cuando clona un proyecto desde un repositorio basado en la web, puede instalar las dependencias ejecutando el siguiente comando:

instalar npm

Cuando ejecuta el comando anterior, su administrador de paquetes lee el paquete.json e instala las dependencias especificadas y devDependencies desde el registro del paquete.

Dependencias de desarrollo y cómo usarlas

Las dependencias de desarrollo, o devDepenendencies, son paquetes que su aplicación necesita solo durante el proceso de desarrollo. En otras palabras, no son necesarios en la producción.

Las dependencias de desarrollo pueden incluir:

  • Marcos de prueba, como Jest o Mocha.
  • Corredores de pruebas, como Chai.
  • Linters y formateadores, como Eslint.
  • Herramientas de documentación, como Swagger.

Un ejemplo común de una devDepenedency es el paquete Nodemon, que reinicia su servidor cuando detecta cambios en sus scripts.

Puede definir devDependencies bajo el devDependencias objeto en un paquete.json archivo. Este objeto almacena los nombres y versiones de los paquetes.

Puede instalar un paquete como devDependency ejecutando este comando:

instalar npm  --save-dev

Alternativamente, puede instalar un paquete como una dependencia de desarrollo ejecutando este comando:

npm instalar -D 

El comando anterior instala y registra el paquete en su paquete.json archivo, así:

// paquete.json
"Dependencias de desarrollo": {
"Nombre del paquete": "^versión-paquete"
}

Cuando clona un proyecto desde un repositorio basado en web, ejecutar el instalar npm El comando también instalará devDependencies.

Sin embargo, ejecutar el comando con el producción flag instala solo las dependencias.

Por ejemplo:

instalación npm --producción

Cuando ejecuta el comando anterior, su administrador de paquetes lee el paquete.json e instala las dependencias de su aplicación desde el registro del paquete.

Alternativamente, puede configurar el NODE_ENV variables a “producción” para lograr los mismos resultados.

Otros tipos de dependencias

Además de las dependencias y devDependencies, Node.js también clasifica los paquetes como peerDepenecies y dependencias opcionales.

Dependencias de pares

Las dependencias de pares son dependencias que usa un paquete cuando espera que una versión específica o una versión compatible de otro paquete esté presente en la aplicación que lo usa.

El propósito de las dependencias de pares es garantizar que un paquete funcione correctamente con sus dependencias y evitar conflictos o problemas de compatibilidad.

Para las versiones de npm anteriores a v7, las dependencias de pares no se instalan automáticamente. Más bien, el código que incluye el paquete debe incluirlo como una dependencia. Si el paquete no lo incluye, npm generará una advertencia.

existen bajo el peerDependencies objeto en el archivo package.json:

"dependencias de pares": {
"paquete": "^versión"
}

Dependencias opcionales

Las dependencias opcionales son paquetes que no son esenciales para la funcionalidad central de un proyecto pero que pueden mejorar sus capacidades si están disponibles.

Como las dependencias opcionales no son necesarias para que el proyecto funcione correctamente, puede omitirlas durante la instalación.

Ejecutar el siguiente comando omitirá las dependencias opcionales durante el proceso de instalación:

npm install --omit=opcional

existen bajo el dependencias opcionales objeto en el archivo package.json:

"dependencias opcionales": {
"paquete": "^versión"
}

Las categorías facilitan la gestión de sus dependencias

Comprender, administrar y categorizar las dependencias de manera efectiva ayuda a garantizar una separación clara entre los paquetes necesarios para la producción y los que solo se necesitan durante el desarrollo.

Esta distinción ayuda a la administración eficiente de dependencias, la agrupación adecuada y la implementación optimizada de su proyecto.