Ajout de packages au projet Node.js

Effectué

Node.js a des packages intégrés pour des tâches comme la gestion de fichiers et la gestion de HTTP. Il existe également un vaste éventail de packages de tiers proposés sur le registre NPM.

Quand et comment sélectionner un package npm

En tant que nouveau développeur chez Tailwind Traders, vous devez ajouter des fonctionnalités à un projet. Vous pouvez écrire le code vous-même, mais vous décidez d’utiliser un package existant. Cette décision de développement est un scénario courant.

Quand devez-vous utiliser un package existant ? Voici quelques facteurs à prendre en compte :

  • Qualité : Pour des tâches comme la sécurité, l’utilisation de packages bien établis garantit que vous suivez les meilleures pratiques et que vous gérez les cas limites.
  • Efficacité : Écrire votre propre code demande du temps. L’utilisation de packages existants peut vous épargner des efforts considérables.
  • Maintenance : Les bibliothèques ont besoin de mises à jour et de correctifs de bogues. Il est souvent plus efficace de laisser une équipe open source gérer cela.

Les développeurs peuvent rechercher et télécharger des packages depuis différentes sources :

  • Registres : Les registres sont des collections de packages, comme le registre npm. Vous pouvez aussi héberger votre propre registre.
  • Dépôts : Vous pouvez installer des packages directement depuis une URL GitHub.
  • Fichiers : Les packages peuvent être installés depuis un dossier local ou un fichier compressé, ce qui est pratique pour tester vos propres packages.
  • Répertoires : Vous pouvez également installer directement depuis un répertoire.

Une fois que vous avez sélectionné un package, vérifiez ses dépendances pour prendre en compte les facteurs suivants :

  • Taille : Plus de dépendances signifie une empreinte plus grande. La taille de l’empreinte est importante si vous avez des limitations matérielles ou de bande passante. Rappelez-vous que l’installation d’un package installe également ses dépendances. Ceci peut aboutir à un dossier node_modules de grande taille.
  • Popularité : La popularité d’un package peut être un indicateur de sa qualité.
  • Licences : Si vous prévoyez de vendre votre logiciel, vérifiez que toutes les licences des packages de dépendances permettent la réutilisation et la revente.
  • Maintenance active : Évitez les dépendances qui sont déconseillées ou rarement mises à jour.

Pour en savoir plus sur un package, visitez sa page de package sur NPM et son dépôt GitHub. Vous pouvez aussi utiliser la commande npm npm view <package name>.

Comment installer un package

Pour installer un package, utilisez l’interface CLI npm installée avec Node.js. Vous pouvez ajouter un package à votre projet Node.js avec la commande npm install dans le terminal.

npm install <name of package>

Quand vous exécutez la commande install, l’outil en ligne de commande se connecte à un registre global, extrait le code et le place dans un dossier node_modules à la racine de votre projet.

Voici quelques commutateurs courants pour la commande install :

  • Pour les packages de développement uniquement, utilisez --save-dev. Ce commutateur enregistre dans la propriété devDependencies de package.json. Ces dépendances sont généralement des outils de mise en forme, de linting, de build, de transpilation et de test.
  • Pour les packages de production uniquement, utilisez --production. Ce commutateur exclut les packages de développement uniquement.
  • Pour les outils disponibles globalement, utilisez -g. Les outils en ligne de commande sont souvent installés globalement au lieu d’être importés dans des projets. Les dépendances globales sont installées dans un répertoire à l’échelle du système, et non pas dans les node_modules au niveau des projets. Cependant, les packages globaux peuvent encombrer votre système. La commande npx résout ce problème en installant des packages temporairement. Utilisez npx <name> pour extraire un package, l’exécuter, puis le supprimer.

Après l’installation, le répertoire de votre projet se présente comme dans l’exemple suivant :

package.json
node_modules/
  <name of dependency>/
    <files included in the dependency>
src
  index.js

Commande de l’interface CLI npm

L’outil en ligne de commande npm a plusieurs commandes qui vous aident dans des tâches comme l’installation de packages, la création de packages et l’initialisation de projets Node.js.

Les commandes NPM sont classées en différentes catégories :

  • Gérer les dépendances : Commandes pour l’installation, la mise à jour et la suppression de packages.
  • Exécuter des scripts : Commandes pour la gestion des flux de développement, comme tester et générer du code.
  • Configurer un environnement : Commandes pour la configuration des chemins d’installation et des sources du package.
  • Créer et publier des packages : Commandes pour la création et la publication de packages.

Si vous voulez une liste détaillée de toutes les commandes, entrez la commande suivante dans le terminal :

npm --help

Vérifier l’installation

Pour voir ce qui se trouve dans votre dossier package.json, utilisez npm list. La commande npm list liste tous les packages du répertoire node_modules qui ont été installés. Chaque package installé a installé toutes ses propres dépendances.

Comme la commande list peut produire une longue liste, ce qui la rend difficile à comprendre, vous pouvez lister les packages à différentes profondeurs avec la commande list. À la profondeur 0, la commande liste le contenu que vous avez dans la section dependencies de votre fichier package.json.

npm list --depth=<depth>

Si vous avez installé le package Jest, npm list --depth=0 produit une sortie similaire à celle-ci :

├── jest@26.0.1

Nettoyer les dépendances

Si vous n’avez plus besoin d’un package, supprimez-le. La suppression d’une dépendance permet à votre projet de rester propre et d’économiser de l’espace. Ce nettoyage est particulièrement importante pour les applications monopage (SPA) comme Angular, React ou Vue. Ces applications regroupent et compressent le code dans un fichier délivré au navigateur. Plus le fichier est grand, plus il faut de temps pour la charger, ce qui peut décourager les utilisateurs.

Il existe deux façons de nettoyer les dépendances dont vous n’avez plus besoin :

  • Désinstaller : pour désinstaller un package, exécutez la commande npm uninstall <name of dependency>. Cette commande supprime le package du fichier manifeste package.json et du répertoire node_modules.
  • Élaguer : Utilisez npm prune pour supprimer toutes les dépendances non listées de node_modules. L’élagage est utile quand vous voulez supprimer plusieurs dépendances sans effectuer la désinstallation pour chacun d’eux. Pour élaguer :
    1. Supprimez les entrées des dépendances ou de devDependencies dans package.json.
    2. run npm prune.