Tutoriel Node.js NPM : Comment créer, étendre et publier des modules

Modules Node.js

Un module dans Node.js est une encapsulation logique de code dans une seule unité. C'est toujours une bonne pratique de programmation de toujours séparer le code de manière à le rendre plus gérable et maintenable pour des fins futures. C'est là que les modules de Node.js entrent en action.

Puisque chaque module est une entité indépendante avec sa propre fonctionnalité encapsulée, il peut être géré comme une unité de travail distincte.

Qu’est-ce qu’un module dans Node.js ?

Comme indiqué précédemment, les modules de Node js sont un moyen d'encapsuler du code dans une unité logique distincte. Il existe de nombreux modules prêts à l'emploi disponibles sur le marché qui peuvent être utilisés dans Node js.

Vous trouverez ci-dessous quelques-uns des modules populaires utilisés dans une application Node js.

  1. Cadre express – Express est un framework d'application Web Node js minimal et flexible qui fournit un ensemble robuste de fonctionnalités pour le Web et mobile applications.
  2. socket.io – Socket.IO permet une communication bidirectionnelle en temps réel basée sur les événements. Ce module est idéal pour la création d'applications basées sur le chat.
  3. Jade – Jade est un moteur de modèles hautes performances et implémenté avec Javascénario pour le nœud et les navigateurs.
  4. MongoDB - L' MongoDB Le pilote Node.js est le pilote node.js officiellement pris en charge pour MongoDB.
  5. Restifier – restify est un framework léger, similaire à express pour créer des API REST
  6. Bluebird – Bluebird est une bibliothèque de promesses complète mettant l'accent sur les fonctionnalités et les performances innovantes

Utiliser des modules dans Node.js

Afin d'utiliser des modules dans un Node.js application, ils doivent d’abord être installés à l’aide du gestionnaire de packages Node.

La ligne de commande ci-dessous montre comment un module « express » peut être installé.

npm installer express

Utiliser des modules dans Node.js

  • La commande ci-dessus téléchargera les fichiers nécessaires qui contiennent les « modules express » et s'occupera également de l'installation.
  • Une fois le module installé, afin d'utiliser un module dans une application Node.js, vous devez utiliser le mot-clé 'require'. Ce mot-clé est un moyen utilisé par Node.js pour incorporer les fonctionnalités d'un module dans une application.

Regardons un exemple de la façon dont nous pouvons utiliser le mot-clé « require ». L'exemple de code « Guru99 » ci-dessous montre comment utiliser la fonction require

Utiliser des modules dans Node.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
});
var server=app.listen(3000,function()
{
});
  1. Dans la première instruction elle-même, nous utilisons le mot-clé « require » pour inclure le module express. Le module « express » est un module optimisé Javascénario bibliothèque pour le développement Node.js. C'est l'un des modules Node.js les plus couramment utilisés.
  2. Une fois le module inclus, afin d'utiliser les fonctionnalités du module, un objet doit être créé. Ici, un objet du module express est créé.
  3. Une fois le module inclus à l'aide de la commande « require » et un « objet » créé, les méthodes requises du module express peuvent être invoquées. Ici, nous utilisons la commande set pour définir le moteur d'affichage, qui est utilisé pour définir le moteur de création de modèles utilisé dans Node.js.
  4. Remarque: -(Juste pour la compréhension du lecteur ; un moteur de création de modèles est une approche permettant d'injecter des valeurs dans une application en récupérant des données à partir de fichiers de données. Ce concept est assez célèbre dans Angular JS dans lequel les accolades {{ key }} sont utilisées pour remplacer les valeurs dans la page Web. Le mot « clé » entre accolades désigne essentiellement la variable qui sera remplacée par une valeur lors de l'affichage de la page.)

  5. Ici, nous utilisons la méthode d'écoute pour que l'application écoute sur un numéro de port particulier.

Comment créer des modules NPM

Node.js a la capacité de créer des modules personnalisés et vous permet d'inclure ces modules personnalisés dans votre application Node.js.

Examinons un exemple simple de la façon dont nous pouvons créer notre propre module et inclure ce module dans notre fichier de candidature principal. Notre module effectuera simplement une tâche simple consistant à ajouter deux nombres.

Suivons les étapes ci-dessous pour voir comment nous pouvons créer des modules et les inclure dans notre application.

Voici le processus étape par étape sur la façon de créer des modules NPM

Étape 1) Créez un fichier et collez le code ci-dessous
Créez un fichier appelé « Addition.js » et incluez le code ci-dessous. Ce fichier contiendra la logique de votre module.

Vous trouverez ci-dessous le code qui entrerait dans ce fichier ;

Création de modules NPM

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
  1. Le mot-clé « exports » est utilisé pour garantir que la fonctionnalité définie dans ce fichier est effectivement accessible par d'autres fichiers.
  2. Nous définissons ensuite une fonction appelée 'AddNumber'. Cette fonction est définie pour prendre 2 paramètres, a et b. La fonction est ajoutée au module « exports » pour faire de la fonction une fonction publique accessible par d'autres modules d'application.
  3. Nous faisons enfin en sorte que notre fonction renvoie la valeur ajoutée des paramètres.

Maintenant que nous avons créé notre module personnalisé qui a la fonctionnalité d’ajouter 2 nombres. Il est maintenant temps de créer une application qui appellera ce module.

Dans la prochaine étape, nous verrons concrètement comment créer l'application qui appellera notre module personnalisé.

Étape 2) Créer un dossier de candidature
Créez un fichier appelé « app.js », qui est votre fichier d'application principal et ajoutez le code ci-dessous

Création de modules NPM

var Addition=require('./Addition.js');
console.log(Addition.AddNumber(1,2));
  1. Nous utilisons le mot-clé « require » pour inclure la fonctionnalité dans le fichier Addition.js.
  2. Les fonctions du fichier Addition.js étant désormais accessibles, nous pouvons désormais appeler la fonction AddNumber. Dans la fonction, nous passons 2 nombres comme paramètres. Nous affichons ensuite la valeur dans la console.

Création de modules NPM

Sortie:

  • Lorsque vous exécutez le fichier app.js, vous obtiendrez une sortie de valeur 3 dans le journal de la console.
  • Le résultat est dû au fait que la fonction AddNumber dans le fichier Addition.js a été appelée avec succès et que la valeur renvoyée 3 a été affichée dans la console.

Remarque : – Nous n’utilisons pas encore le « Node package manager » pour installer notre module Addition.js. En effet, le module fait déjà partie de notre projet sur la machine locale. Le gestionnaire de packages Node entre en scène lorsque vous publiez un module sur Internet, ce que nous voyons dans la rubrique suivante.

Extension de modules dans Node.js

Lors de la création de modules, il est également possible d'étendre ou d'hériter d'un module d'un autre.

Dans la programmation moderne, il est assez courant de créer une bibliothèque de modules communs, puis d'étendre les fonctionnalités de ces modules communs si nécessaire.

Regardons un exemple de la façon dont nous pouvons étendre les modules dans Node.js.

Étape 1) Créez le module de base.

Dans notre exemple, créez un fichier appelé « Tutorial.js » et placez le code ci-dessous.

Dans ce code, nous créons simplement une fonction qui renvoie une chaîne à la console. La chaîne renvoyée est « Guru99 Tutorial ».

Extension de modules dans Node.js

var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutorial")
}
  1. Le module d'exportation est utilisé pour que toute fonction définie dans ce fichier puisse être disponible dans d'autres modules de Node.js.
  2. Nous créons une fonction appelée tutoriel qui peut être utilisée dans d'autres modules Node.js.
  3. Nous affichons une chaîne « Guru99 Tutorial » dans la console lorsque cette fonction est appelée.

Maintenant que nous avons créé notre module de base appelé Tutorial.js. Il est maintenant temps de créer un autre module qui étendra ce module de base.

Nous explorerons comment procéder à l’étape suivante.

Étape 2) Ensuite, nous créerons notre module étendu. Créez un nouveau fichier appelé « NodeTutorial.js » et placez le code ci-dessous dans le fichier.

Extension de modules dans Node.js

var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
function pTutor()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Or
var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
this.pTutor = function ()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Notez les points clés suivants concernant le code ci-dessus

  1. Nous utilisons la fonction « require » dans le nouveau fichier de module lui-même. Puisque nous allons étendre le fichier de module existant « Tutorial.js », nous devons d'abord l'inclure avant de l'étendre.
  2. Nous créons ensuite une fonction appelée « Nodetutorial ». Cette fonction fera 2 choses,
  • Il enverra une chaîne « Node Tutorial » à la console.
  • Il enverra la chaîne « Guru99 Tutorial » du module de base « Tutorial.js » à notre module étendu « NodeTutorial.js ».
  1. Nous effectuons ici la première étape pour envoyer une chaîne de « Node Tutorial » à la console.
  2. L'étape suivante consiste à appeler la fonction depuis notre module Tutorial, qui affichera la chaîne « Guru99 Tutorial » dans le console.log.

Étape 3) Créez votre fichier app.js principal, qui est votre fichier d'application principal et incluez le code ci-dessous.

Extension de modules dans Node.js

var localTutor=require('./NodeTutorial.js');
localTutor.NodeTutorial();
localTutor.NodeTutorial.pTutor();

Or use this code
var tut = new localTutor.NodeTutorial();  // Create and save object
tut.pTutor();  // Call function on object

Le code ci-dessus fait les choses suivantes :

  1. Notre fichier d'application principal appelle désormais le module « NodeTutorial ».
  2. Nous appelons la fonction « NodeTutorial ». En appelant cette fonction, le texte « Node Tutorial » sera affiché dans le journal de la console.
  3. Depuis que nous avons étendu notre module Tutorial.js et exposé une fonction appelée pTutor. Il appelle également le module tutoriel dans le module Tutorial.js, et le texte « Tutorial Guru99 » sera également affiché sur la console.

Sortie :

Puisque nous avons exécuté le code app.js ci-dessus à l'aide de Node, nous obtiendrons le résultat suivant dans le fichier console.log

  • Tutoriel sur les nœuds
  • Tutoriel Guru99

Package de publication NPM (Node Package Manager)

On peut publier son propre module sur son propre Github dépôt.

En publiant votre module dans un emplacement central, vous n'avez alors pas à vous installer sur chaque machine qui en a besoin.

Au lieu de cela, vous pouvez utiliser la commande install de npm et installer votre module npm publié.

Les étapes suivantes doivent être suivies pour publier votre module npm

Étape 1) Créez votre référentiel sur GitHub (un outil de gestion de référentiel de code en ligne). Il peut être utilisé pour héberger vos référentiels de code.

Étape 2) Vous devez indiquer à votre installation npm locale qui vous êtes. Ce qui signifie que nous devons indiquer à npm qui est l'auteur de ce module, quel est l'identifiant de messagerie et toute URL d'entreprise disponible qui doit être associée à cet identifiant. Tous ces détails seront ajoutés à votre module npm lors de sa publication.

Les commandes ci-dessous définissent le nom, l'e-mail et l'URL de l'auteur du module npm.

npm définit init-author-name « Guru99 ».

npm définit init-author-email « guru99@gmail.com »

npm définit init-author-url « http://Guru99.com »

Étape 3) L'étape suivante consiste à vous connecter à npm en utilisant les informations d'identification fournies à la dernière étape. Pour vous connecter, vous devez utiliser la commande ci-dessous

npm login

Étape 4) Initialisez votre package – L'étape suivante consiste à initialiser le package pour créer le fichier package.json. Cela peut être fait en exécutant la commande ci-dessous

npm init

Lorsque vous exécutez la commande ci-dessus, vous serez invité à répondre à quelques questions. Le plus important est le numéro de version de votre module.

Étape 5) Publier sur GitHub – L'étape suivante consiste à publier vos fichiers sources sur GitHub. Cela peut être fait en exécutant les commandes ci-dessous.

git add.
git commit -m "Initial release"
git tag v0.0.1 
git push origin master --tags

Étape 6) Publiez votre module – La dernière étape consiste à publier votre module dans le registre npm. Cela se fait via la commande ci-dessous.

npm publish

Gestion des packages tiers avec npm

Comme nous l'avons vu, le « gestionnaire de packages Node » a la capacité de gérer les modules requis par les applications Node.js.

Examinons certaines des fonctions disponibles dans le gestionnaire de packages de nœuds pour gérer les modules

  1. Installation de packages en mode global – Les modules peuvent être installés au niveau global, ce qui signifie simplement que ces modules seraient disponibles pour tous les projets Node.js sur une machine locale. L'exemple ci-dessous montre comment installer le « module express » avec l'option globale.npm install express-global L'option globale dans l'instruction ci-dessus permet aux modules d'être installés au niveau global.
  2. Liste de tous les packages globaux installés sur une machine locale. Cela peut être fait en exécutant la commande ci-dessous dans l'invite de commandeliste npm – mondialeVous trouverez ci-dessous le résultat qui s'affichera si vous avez déjà installé le « module express » sur votre système. Ici vous pouvez voir les différents modules installés sur la machine locale.

Gestion des packages tiers avec NPM

  1. Installation d'une version spécifique d'un package – Parfois, il peut être nécessaire d'installer uniquement la version spécifique d'un package. Une fois que vous connaissez le nom du package et la version appropriée qui doit être installée, vous pouvez utiliser la commande npm install pour installer cette version spécifique. L'exemple ci-dessous montre comment installer le module appelé trait de soulignement avec une version spécifique de 1.7.0npm install. soulignement@1.7.0
  2. Mise à jour d'une version de package – Parfois, vous pouvez avoir une ancienne version d'un package dans un système et vous souhaiterez peut-être mettre à jour vers la dernière version disponible sur le marché. Pour ce faire, on peut utiliser la commande npm update. L'exemple ci-dessous montre comment mettre à jour le package de traits de soulignement vers la dernière versionnpm mise à jour du soulignement
  3. Recherche d'un package particulier – Pour rechercher si une version particulière est disponible ou non sur le système local, vous pouvez utiliser la commande de recherche de npm. L'exemple ci-dessous vérifiera si le module express est installé sur la machine locale ou non.recherche npm express
  4. Désinstallation d'un package – De la même manière que vous pouvez installer un package, vous pouvez également désinstaller un package. La désinstallation d'un package se fait avec la commande de désinstallation de npm. L'exemple ci-dessous montre comment désinstaller le module expressnpm désinstaller express

Qu'est-ce que le fichier package.json

Le fichier « package.json » est utilisé pour contenir le métadonnées sur un projet particulier. Ces informations fournissent au gestionnaire de packages Node les informations nécessaires pour comprendre comment le projet doit être géré ainsi que ses dépendances.

Les fichiers package.json contiennent des informations telles que la description du projet, la version du projet dans une distribution particulière, des informations de licence et des données de configuration.

Le fichier package.json se trouve normalement dans le répertoire racine d'un projet Node.js.

Prenons un exemple de ce à quoi ressemble la structure d'un module lorsqu'il est installé via npm.

L'instantané ci-dessous montre le contenu du fichier du module express lorsqu'il est inclus dans votre projet Node.js. À partir de l'instantané, vous pouvez voir le fichier package.json dans le dossier express.

Le fichier Package.json

Si vous ouvrez le fichier package.json, vous verrez de nombreuses informations dans le fichier.

Vous trouverez ci-dessous un instantané d'une partie du fichier. Le express@~4.13.1 mentionne le numéro de version du module express utilisé.

Le fichier Package.json

Résumé

  • Un module dans Node.js est une encapsulation logique de code dans une seule unité. La séparation en modules rend le code plus gérable et maintenable à des fins futures
  • Il existe de nombreux modules disponibles sur le marché qui peuvent être utilisés dans Node.js, tels que express, underscore, MongoDB, etc.
  • Le gestionnaire de packages de nœuds (npm) est utilisé pour télécharger et installer des modules qui peuvent ensuite être utilisés dans une application Node.js.
  • On peut créer des modules NPM personnalisés, étendre ces modules et également publier ces modules.
  • Le gestionnaire de packages Node dispose d'un ensemble complet de commandes pour gérer les modules npm sur le système local telles que l'installation, la désinstallation, la recherche, etc.
  • Le fichier package.json est utilisé pour contenir toutes les informations de métadonnées d'un module npm.