Tutoriel NPM Node.js: Créer, publier, étendre & Gérer

Table des matières:

Anonim

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 à des fins futures. C'est là que les modules de Node.js entrent en action.

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

Dans ce didacticiel, vous apprendrez-

  • Que sont les modules dans Node.js
  • Utilisation de modules dans Node.js
  • Création de modules NPM
  • Extension des modules
  • Publication de modules NPM
  • Gérer des packages tiers avec npm
  • Qu'est-ce que le fichier package.json

Que sont les modules dans Node.js?

Comme indiqué précédemment, les modules dans 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. Framework Express - Express est un framework d'application Web Node js minimal et flexible qui fournit un ensemble robuste de fonctionnalités pour les applications Web et mobiles.
  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 template haute performance et implémenté avec JavaScript pour les nœuds et les navigateurs.
  4. MongoDB - Le pilote MongoDB Node.js est le pilote node.js officiellement pris en charge pour MongoDB.
  5. Restify - restify est un framework léger, similaire à express pour la création d'API REST
  6. Bluebird - Bluebird est une bibliothèque de promesses complète axée sur les fonctionnalités et les performances innovantes

Utilisation de modules dans Node.js

Afin d'utiliser des modules dans une application Node.js, 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

  • La commande ci-dessus téléchargera les fichiers nécessaires contenant les "modules express" et s'occupera également de l'installation
  • Une fois le module installé, pour pouvoir 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 la fonctionnalité 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

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 une bibliothèque JavaScript optimisée pour le développement de Node.js. C'est l'un des modules Node.js les plus couramment utilisés.
  2. Une fois le module inclus, afin d'utiliser la fonctionnalité dans le module, un objet doit être créé. Ici, un objet du module express est créé.
  3. Une fois que le module est inclus à l'aide de la commande "require" et qu'un "objet" est créé, les méthodes requises du module express peuvent être appelées. Ici, nous utilisons la commande set pour définir le moteur de vue, qui est utilisé pour définir le moteur de création de modèles utilisé dans Node.js.

    Remarque: - (Juste pour la compréhension du lecteur; un moteur de création de modèles est une approche pour 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 où les accolades {{key}} sont utilisées pour remplace les valeurs dans la page Web. Le mot «clé» entre accolades désigne essentiellement la variable qui sera remplacée par une valeur lorsque la page est affichée.)

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

Création de 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.

Regardons un exemple simple de la façon dont nous pouvons créer notre propre module et inclure ce module dans notre fichier d'application principal. Notre module fera simplement une tâche simple d'ajouter deux nombres.

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

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

Voici le code qui irait dans ce fichier;

var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
  1. Le mot-clé "exports" permet de garantir que la fonctionnalité définie dans ce fichier est effectivement accessible par d'autres fichiers.
  2. Nous définissons alors 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 retourne 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 l'étape suivante, nous verrons en fait comment créer l'application qui appellera notre module personnalisé.

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

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 maintenant appeler la fonction AddNumber. Dans la fonction, nous passons 2 nombres comme paramètres. Nous affichons alors la valeur dans la console.

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 que la fonction AddNumber dans le fichier Addition.js a été appelée avec succès et que la valeur renvoyée de 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 apparaît dans l'image lorsque vous publiez un module sur Internet, ce que nous voyons dans la rubrique suivante.

Extension des modules

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 des 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".

var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
  1. Le module d'exportations 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 allons créer notre module étendu. Créez un nouveau fichier appelé "NodeTutorial.js" et placez le code ci-dessous dans le fichier.

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

Notez que 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. Ici, nous effectuons la première étape pour envoyer une chaîne à "Node Tutorial" vers la console.
  2. L'étape suivante consiste à appeler la fonction à partir de notre module Tutorial, qui affichera la chaîne "Guru99 Tutorial" dans console.log.

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

var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object

Le code ci-dessus fait les choses suivantes;

  1. Notre fichier d'application principal appelle maintenant le module "NodeTutorial".
  2. Nous appelons la fonction "NodeTutorial". En appelant cette fonction, le texte "Tutoriel du nœud" 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 "Guru99 Tutorial" sera également affiché sur la console.

Production:

Puisque nous avons exécuté le code app.js ci-dessus en utilisant Node, nous obtiendrons la sortie suivante dans le fichier console.log

  • Tutoriel sur les nœuds
  • Tutoriel Guru99

Publication de modules NPM (Node Package Manager)

On peut publier son propre module dans son propre référentiel Github.

En publiant votre module dans un emplacement central, vous n'êtes pas obligé de 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 et 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'adresse e-mail et l'URL de l'auteur du module npm.

npm set init.author.name "Guru99."

npm set init.author.email " Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."

npm défini 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 émettant la commande ci-dessous

npm init

Lorsque vous exécutez la commande ci-dessus, vous serez invité à poser des 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.1git push origin master --tags

Étape 6) Publiez votre module - Le dernier bit est de publier votre module dans le registre npm. Cela se fait via la commande ci-dessous.

npm publish

Gérer les packages tiers avec npm

Comme nous l'avons vu, le "Node package manager" a la capacité de gérer les modules, qui sont requis par les applications Node.js.

Examinons certaines des fonctions disponibles dans le gestionnaire de packages de nœuds pour la gestion des 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 est ce qui permet aux modules d'être installés à un 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 commande

    liste npm - global

    Ci-dessous se trouve la sortie qui sera affichée, si vous avez précédemment installé le "module express" sur votre système.

    Ici vous pouvez voir les différents modules installés sur la machine locale.

  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 à installer, vous pouvez utiliser la commande npm install pour installer cette version spécifique.

    L'exemple ci-dessous montre comment installer le module appelé underscore avec une version spécifique de 1.7.0

    npm installer [email protected]

  2. Mise à jour d'une version de package - Parfois, vous pouvez avoir une ancienne version d'un package dans un système, et vous pouvez vouloir 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 soulignement vers la dernière version

    soulignement de mise à jour npm

  3. Recherche d'un package particulier - Pour rechercher si une version particulière est disponible sur le système local ou non, vous pouvez utiliser la commande search de npm. L'exemple ci-dessous vérifiera si le module express est installé sur la machine locale ou non.

    npm search express

  4. Désinstallation d'un package - La même chose dans laquelle 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 express

    npm désinstaller express

Qu'est-ce que le fichier package.json

Le fichier "package.json" est utilisé pour contenir les 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é avec 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 l'apparence de 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.

Si vous ouvrez le fichier package.json, vous verrez beaucoup d'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é.

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 pour un module npm.