devstory

Le Tutoriel de NodeJS Module

View more Tutorials:

1- Qu'est-ce que NodeJS Module ?

En parlant simplement, le module NodeJS est une bibliothèque Javascript. C'est un ensemble de fonctions (function), d'objets et de variables que vous pouvez utiliser dans vos applications. L'utilisation Module permet de simplifier l'écriture de code et de le gérer dans votre application. Normalement, chaque module sera écrit dans un fichier séparé.
Le NodeJS intègre de nombreux Modules. Il a des bibliothèques standards pour que vous puissiez développer des applications. Voici la liste des modules :
ModuleDescription
assertournit un ensemble des  assertion tests (tests d'assertion)
bufferPour gérer les données binaires (binary data).
child_processPour exécuter un processus enfant (child process)
clusterPour diviser un seul processus (process) Node en plusieurs processus
cryptoPour gérer les fonctions cryptographiques OpenSSL (OpenSSL cryptographic functions)
dgramFournit l'implémentation de UDP sockets
dnsEffectuer des recherches (lookups) et des fonctions de résolution (resolution) DNS
eventsPour gérer les événements (events)
fsPour gérer le système de fichiers
httpPour faire Node.js agir comme un HTTP server.
httpsPour faire Node.js agir comme un  HTTPS server.
netPour créer des server et des client
osFournit des informations sur le système d'exploitation
pathPour gérer des chemins de fichiers (file paths).
querystringPour gérer les chaînes de requête de URL
readlinePour gérer les flux des données (data streams) lisibles une ligne (line) à la fois
streamPour gérer les flux des données (streaming data)
string_decoderDécoder (decode) les objets du tampon (buffer objects) en chaînes
timersPour exécuter une fonction Javascript après un nombre donné de temps
tlsPour implémenter des protocoles TLS & SSL.
ttyFournit des classes utilisées par text terminal.
urlPour analyser (parse) les chaînes de URL (URL strings)
utilPour accéder aux fonctions utilitaires (Utility functions).
v8Pour accéder aux informations sur le moteur V8 JavaScript engine.
vmPour compiler (compile) du code JavaScript dans la machine virtuelle (Virtual machine)
zlibPour compresser ou décompresser des fichiers.
Afin d'utiliser un module, utilisez la fonction require(moduleName). Par exemple, http est un module qui oblige NodeJS à fonctionner comme un HTTP Server.
Assurez- vous que vous avez créé un projet NodeJS avec succès. Si non, faites une référencesà la leçon ci-dessous :
Sur votre projet NodeJS, créez un dossier module-examples pour contenir les fichiers Javascript que vous avez pratiqué dans cette leçon.
Créez un fichier baptisé http-example.js dans le dossier module-examples.
http-example.js
var http = require("http");

http.createServer(function(req, res)  {

     res.writeHead(200, {"Content-Type": "text/html"});
     res.write("<h1>Hello World</h1>");
     res.write("<h2>Hello Http</h2>");
     res.end();

}).listen(8080);
Ouvrez des fenêtres CMD et CD pour aller vers le dossier de votre projet. Utilisez le NodeJS pour exécuter le fichier http-example.js :

node ./module-examples/http-example.js
Ouvrez le navigateur et visitez le chemin :

2- Créer votre Module

Dans NodeJS vous pouvez créer un Module personnalisé. Le Module est un fichier Javascript. Merci à noter la location de ce fichier parce qu'elle affecte à la manière que vous l'utiliser. Deux choix de sélection la location de ce fichier proposés :
  1. Le fichier Module est mis dans le répertoir nommé node_modules (Le sous répertoir du projet). Ceci est la location recommandée.
  2. Le fichier Module est mis dans un de vos répertoires, pas dans le node_modules.
Le NodeJS vous recommande de mettre vos fichiers Module dans le dossier node_modules du projet. Attendez une minute, je vous donnerai des explications pourquoi votre module est recommandé à placer dans ce dossier.
La syntaxe de export (exportation) quelque chose dans votre fichier Javascript.
exports = something;

// or:

module.exports = something;

my-first-module.js

Tout d'abord, créez un fichier my-first-module.js dans le dossier node_modules, le fichier test-my-first-module.js dans un autre dossier.
Dans cet exemple, le fichier my-first-module.js contient plusieurs fonctions (function), mais je export (exporte) la fonction "sum".
node_modules/my-first-module.js
subtract = function(a, b)  {
    return a - b;
}

sum = function (a, b)  {
    return a + b;
}

module.exports = sum;
module-examples/test-my-first-module.js

var sum = require("my-first-module.js");

console.log("Sum 100 and 150");

var c = sum(100, 150);

console.log("Value = " + c);
 
Exécutez l'exemple ci-dessus :

node ./module-examples/test-my-first-module.js
Pour les fichiers module sont mis dans le dossier node_modules dont la manière d'utilisation est très simple. Ce n'est pas la peine de s'intéresser par le chemin relatif ou le chemin absolu.
var myVar = require("module-file-name.js");

// or:

var myVar = require("module-file-name");

my-second-module.js

Puis, nous créons un fichier my-second-module.js mis dans un dossier, par exemple : node_modules_2.
node_modules_2/my-second-module.js

var COPY_RIGHT = "o7planning";

module.exports = COPY_RIGHT;
Afin d'utiliser les module mis dans autres dossiers avec node_modules vous devez utiliser le chemin relatif.
module-examples/test-my-second-module.js

var copyRight
  = require("../node_modules_2/my-second-module.js");

console.log("Copy right: " + copyRight);
 
node ./module-examples/test-my-second-module.js

3- Exporter plusieurs choses

Un fichier module peut contenir plusieurs fonctions (function), plusieurs variables (variable) et plusieurs classes (class). Cet exemple vous indique comment export (exporter) plusieurs choses dans ce fichier.
node_modules/my-third-module.js

// A variable!!
var COPY_RIGHT = "o7planning";

// A function!!
var multiple = function(a, b)  {

   return a * b;
};

// A class!!
var Person = class {

   constructor(name, age) {
     this.name = name;
     this.age = age;
   }

   showInfo()  {
     console.log("name="+ this.name+", age="+ this.age);
   }
};

// Something to Export!!
var somethingToExport = {
  Person: Person,
  multiple : multiple,
  COPY_RIGHT : COPY_RIGHT
};

// Exprort it!!
module.exports = somethingToExport;
 
module-examples/test-my-third-module.js

var module3 = require("my-third-module.js");

console.log("Using Person class of module:");

var p = new module3.Person("Smith", 20);

p.showInfo();

console.log(" -- ");
console.log("Using multiple Function of module:");

var c = module3.multiple(20, 5);

console.log("Value= "+ c);

console.log(" -- ");
console.log("Using Variable of module:");

var copyRight = module3.COPY_RIGHT;

console.log("Copy right: " + copyRight);

 
node ./module-examples/test-my-third-module.js

View more Tutorials: