Les dépendances permettent une réutilisation efficace du code. Assurez-vous de savoir comment les gérer dans vos projets Node.
Une dépendance est un morceau de code (une bibliothèque, un module ou un package) dont un projet a besoin pour fonctionner correctement.
Dans Node.js, les dépendances et les devDependencies sont des catégories de packages que vous pouvez définir dans votre fichier package.json pour gérer les dépendances de votre projet. Explorez leurs différences et apprenez à les utiliser dans vos projets.
Dépendances régulières dans un projet npm
Les dépendances régulières (ou, tout simplement, les dépendances) sont des packages dont votre application a besoin pour fonctionner comme prévu au moment de l'exécution et dans les environnements de production.
Les dépendances peuvent inclure :
- Bibliothèques externes qui offrent des fonctionnalités prédéfinies, telles que lodash.
- Frameworks qui fournissent une base ou une structure pour la création d'applications, telles que Express ou React.
- Pilotes de base de données, tels que MongoDB ou sqlite3.
- Packages qui facilitent les tâches liées au réseau, telles que Axios ou Socket.io.
Par exemple, si vous construisez un API CRUD avec Express.js, exprimer sera l'une de vos dépendances car votre serveur en a besoin pour fonctionner.
Pour installer les dépendances d'exécution, vous pouvez utiliser un gestionnaire de packages comme npm, le gestionnaire de paquets de nœuds, ou Fil.
Les dépendances existent sous l'objet dependencies dans un fichier package.json. L'objet dépendances stocke les noms et les versions des packages.
Pour installer un package en tant que dépendance à l'aide de NPM, exécutez la commande ci-dessous :
installation npm
La commande ci-dessus installe le package et l'enregistre en tant que dépendance de votre projet dans package.json:
// package.json
"dépendances": {
"nom du paquet": "^version-package",
}
Lorsque vous clonez un projet à partir d'un référentiel Web, vous pouvez installer les dépendances en exécutant la commande ci-dessous :
installation npm
Lorsque vous exécutez la commande ci-dessus, votre gestionnaire de packages lit le package.json fichier et installe les dépendances et devDependencies spécifiées à partir du registre de packages.
Dépendances de développement et comment les utiliser
Les dépendances de développement, ou devDepenendencies, sont des packages dont votre application n'a besoin que pendant le processus de développement. En d'autres termes, ils ne sont pas nécessaires à la production.
Les devDependencies peuvent inclure :
- Cadres de test, comme Jest ou Mocha.
- Test Runners, comme Chai.
- Linters et formateurs, tels que Eslint.
- Outils de documentation, tels que Swagger.
Un exemple courant de devDependency est le paquet Nodémon, qui redémarre votre serveur lorsqu'il détecte des modifications dans vos scripts.
Vous pouvez définir devDependencies sous le devDependencies objet dans un package.json déposer. Cet objet stocke les noms et les versions des packages.
Vous pouvez installer un package en tant que devDependency en exécutant cette commande :
installation npm --save-dev
Vous pouvez également installer un package en tant que devDependency en exécutant cette commande :
npm installer -D
La commande ci-dessus installe et enregistre le package dans votre package.json fichier, comme ceci :
// package.json
"devDépendances": {
"nom du paquet": "^version-package"
}
Lorsque vous clonez un projet à partir d'un référentiel Web, l'exécution de la installation npm La commande installera également les devDependencies.
Cependant, l'exécution de la commande avec le production flag installe uniquement les dépendances.
Par exemple:
npm installer --production
Lorsque vous exécutez la commande ci-dessus, votre gestionnaire de packages lit le package.json fichier et installe les dépendances de votre application à partir du registre de packages.
Alternativement, vous pouvez définir le NODE_ENV variable à "production” pour arriver aux mêmes résultats.
Autres types de dépendances
Outre les dépendances et les devDependencies, Node.js classe également les packages comme pairsDépendances et Dépendancesoptionnelles.
Dépendances entre pairs
Les dépendances homologues sont des dépendances qu'un package utilise lorsqu'il s'attend à ce qu'une version spécifique ou une version compatible d'un autre package soit présente dans l'application qui l'utilise.
Le but des dépendances entre homologues est de s'assurer qu'un paquet fonctionne correctement avec ses dépendances et évite les conflits ou les problèmes de compatibilité.
Pour les versions npm inférieures à v7, les dépendances homologues ne sont pas automatiquement installées. Au lieu de cela, le code qui inclut le package doit l'inclure en tant que dépendance. Si le paquet ne l'inclut pas, npm déclenchera un avertissement.
Ils existent sous la peerDependencies objet dans le fichier package.json :
"peerDependencies": {
"emballer": "^version"
}
Dépendances facultatives
Les dépendances facultatives sont des packages qui ne sont pas essentiels pour les fonctionnalités de base d'un projet, mais qui peuvent améliorer ses capacités si elles sont disponibles.
Comme les dépendances facultatives ne sont pas nécessaires au bon fonctionnement du projet, vous pouvez les omettre lors de l'installation.
L'exécution de la commande ci-dessous ignorera les dépendances facultatives pendant le processus d'installation :
npm install --omit=optionnel
Ils existent sous la Dépendancesoptionnelles objet dans le fichier package.json :
"dépendances facultatives": {
"emballer": "^version"
}
Les catégories facilitent la gestion de vos dépendances
Comprendre, gérer et catégoriser efficacement les dépendances permet d'assurer une séparation claire entre les packages requis pour la production et ceux nécessaires uniquement pendant le développement.
Cette distinction facilite une gestion efficace des dépendances, un regroupement approprié et un déploiement rationalisé de votre projet.