Beruflich Dokumente
Kultur Dokumente
Chapitre 3: Modules
1. Quels sont les modules dans Node.js
2. Utiliser des modules dans Node.js
3. Création de modules NPM
4. Modules d'extension
5. Publication de modules NPM
6. Gestion des packages tiers avec npm
7. Qu'est-ce que le fichier package.json
fs.readFile("Sample.txt",function(error,data)
{
console.log("Reading Data completed");
});
1. Applications de clavardage
2. Serveurs de jeu - Serveurs rapides et performants qui ont besoin
de traiter des milliers de requêtes à la fois, alors c'est un cadre
idéal.
3. Bon pour l'environnement collaboratif - C'est bon pour les
environnements qui gèrent les documents. Dans l'environnement
de gestion de documents, vous aurez plusieurs personnes qui
affichent leurs documents et font des changements constants en
vérifiant et en vérifiant les documents. Donc Node.js est bon pour
ces environnements parce que la boucle d'événements dans
Node.js peut être déclenchée chaque fois que des documents sont
modifiés dans un environnement de gestion de documents.
4. Serveurs de publicité - Ici encore, vous pourriez avoir des milliers
de demandes pour retirer des publicités du serveur central et
Node.js peut être un cadre idéal pour gérer cela.
5. Serveurs de streaming - Un autre scénario idéal à utiliser Node
est pour les serveurs de streaming multimédia où les clients ont
des requêtes pour extraire différents contenus multimédia de ce
serveur.
Node.js est bon quand vous avez besoin de niveaux élevés de
concomitance mais moins de temps CPU dédié.
Pour installer Node.js via Chocolatey, les étapes suivantes doivent être
effectuées.
Code Explication :
2. Dans cette 2ème ligne de code, nous créons une application serveur
qui est basée sur une fonction simple. Cette fonction est appelée
chaque fois qu'une requête est faite à notre application serveur.
4. Nous utilisons alors la fonction .listen pour faire en sorte que notre
application serveur écoute les requêtes des clients sur le port 8080.
Vous pouvez spécifier n'importe quel port disponible ici.
Exécuter le code
Etape 1) Sauvegardez le fichier sur votre ordinateur : C:\Users\Your
Name\Your Name\premierprogramme.js
Node firstprogram.js
OutPut
Résumé
Voici quelques-uns des modules populaires qui sont utilisés dans une
application Node js.
Suivez les étapes ci-dessous pour voir comment nous pouvons créer
des modules et les inclure dans notre application.
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 retournée
de 3 a été affichée dans la console.
Dans ce code, nous sommes en train de créer une fonction qui renvoie
une chaîne de caractères à la console. La chaîne retournée est "Guru99
Tutorial".
var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutotial")
}
Etape 3) Créez votre fichier app.js principal qui est votre fichier
d'application principal et incluez le code ci-dessous.
var localTutor=require('./NodeTutorial.js');
localTutor.NodeTutorial();
localTutor.NodeTutorial.pTutor();
Sortie :
Puisque nous avons exécuté le code app.js ci-dessus en utilisant Node,
nous obtiendrons la sortie suivante dans le fichier console.log.
Les étapes suivantes doivent être suivies pour publier votre module
npm
Etape 2) Vous devez dire à votre installation locale npm qui vous
êtes. Ce qui signifie que nous devons dire à npm qui est l'auteur de ce
module, quel est l'identifiant email et toute URL d'entreprise
disponible qui doit être associée à cet identifiant. Tous ces détails
seront ajoutés à votre module npm lorsqu'il sera publié.
2. Liste de tous les paquets globaux installés sur une machine locale.
Ceci peut être fait en exécutant la commande suivante dans
l'invite de commande
npm list --global
Code Explication :
Sortie :
A partir de la sortie,
Vous pouvez clairement voir que si nous naviguons vers l'URL de
localhost sur le port 7000, vous verrez la chaîne'Hello World'
affichée dans la page.
Parce que dans notre code nous avons mentionné spécifiquement
pour le serveur d'écouter sur le port no 7000, nous sommes en
mesure de voir le résultat lors de la navigation vers cette url.
request("http://www.google.com",function(error,response,body)
{
console.log(body);
});
Code Explication :
1. Nous utilisons le module'require' qui a été installé lors de la
dernière étape. Ce module possède les fonctions nécessaires qui
peuvent être utilisées pour effectuer des requêtes GET vers des
sites Web.
2. Nous faisons une demande GET à www.google.com et appelons
ensuite une fonction lorsqu'une réponse est reçue. Lorsqu'une
réponse est reçue, les paramètres (erreur, réponse et corps)
auront les valeurs suivantes
a. Erreur - En cas d'erreur reçue lors de l'utilisation de la
requête GET, celle-ci sera enregistrée ici.
b. Réponse- La réponse aura les en-têtes http qui sont renvoyés
dans la réponse.
c. Corps- Le corps contiendra l'intégralité du contenu de la
réponse envoyée par Google.
{
console.log(body);
});
Résumé
Le framework Node.js peut être utilisé pour développer des
serveurs web en utilisant le module'http'. L'application peut être
faite pour écouter sur un port particulier et envoyer une réponse au
client chaque fois qu'une demande est faite à l'application.
Le module'demande' peut être utilisé pour obtenir des
informations à partir de sites Web. L'information contiendrait
l'intégralité du contenu de la page Web demandée au site Web
concerné.
Chapitre 5 : Node.js avec
Express
Code Explication :
1. Dans notre première ligne de code, nous utilisons la fonction
require pour inclure le module express.
2. Avant de pouvoir commencer à utiliser le module express, nous
devons faire un objet du module express.
3. Nous créons ici une fonction de rappel. Cette fonction sera
appelée chaque fois que quelqu'un naviguera jusqu'à la racine de
notre application web qui est http://localhost:3000 . . La fonction
de rappel sera utilisée pour envoyer la chaîne'Hello World' à la
page web.
4. Dans la fonction de rappel, nous renvoyons la chaîne "Hello
World" au client. Le paramètre'res' est utilisé pour renvoyer le
contenu à la page web. Ce paramètre'res' est quelque chose qui est
fourni par le module'request' pour permettre d'envoyer du
contenu à la page web.
5. Nous utilisons alors la fonction listen to pour faire en sorte que
notre application serveur écoute les requêtes des clients sur le
port no 3000. Vous pouvez spécifier n'importe quel port
disponible ici.3
Sortie :
A partir de la sortie,
Par exemple, un client peut faire une requête GET, POST, PUT, PUT
ou DELETE http pour diverses URL comme celle montrée ci-dessous ;
http://localhost:3000/Books
http://localhost:3000/Students
Si une requête GET est faite pour la première URL, alors la réponse
devrait idéalement être une liste de livres.
Si la requête GET est faite pour la deuxième URL, alors la réponse
devrait idéalement être une liste d'Etudiants.
Ainsi, sur la base de l'URL à laquelle on accède, une fonctionnalité
différente sur le serveur web sera invoquée et, en conséquence, la
réponse sera envoyée au client. C'est le concept de routage.
où
1) app est une instance du module express
Code Explication :
La fonction a 2 paramètres.
Sortie :
A partir de la sortie,
A partir de la sortie,
Vous pouvez voir que si l'URL a été changé en /Angular, l'itinéraire
du nœud respectif serait choisi et la chaîne de caractères "Tutorial
On Angular" est affichée.
Exemple de serveur Web utilisant
express.js
A partir de notre exemple ci-dessus, nous avons vu comment nous
pouvons décider quelle sortie afficher en fonction du routage. Ce type
de routage est ce qui est utilisé dans la plupart des applications web
modernes. L'autre partie d'un serveur web concerne l'utilisation de
modèles dans Node js.
Jade s'installe via le gestionnaire de paquets Node. Ceci peut être fait
en exécutant la ligne suivante dans la ligne de commande
var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
res.render('index',
{title:'Guru99',message:'Welcome'})
});
Code Explication :
1. La première chose à spécifier dans l'application est "moteur de
vue" qui sera utilisé pour le rendu des modèles. Puisque nous
allons utiliser jade pour rendre nos modèles, nous le spécifions en
conséquence.
2. La fonction de rendu est utilisée pour rendre une page Web. Dans
notre exemple, nous rendons le modèle (index.jade) qui a été créé
plus tôt.
3. Nous passons les valeurs de "Guru99" et "Welcome" aux
paramètres "title" et "message" respectivement. Ces valeurs
seront remplacées par les paramètres'title', et'message' déclarés
dans le modèle index.jade.
Sortie :
A partir de la sortie,
Nous pouvons voir que le titre de la page est réglé sur "Guru99" et
que l'en-tête de la page est réglé sur "Bienvenue".
C'est à cause du template jade qui est invoqué dans notre
application js node.
Résumé
Avec ces modules, vous pouvez effectuer les opérations suivantes dans
Node.js
Pour les autres sujets, nous verrons comment nous pouvons travailler
avec les bases de données MongoDB dans Node.js.
Utilisation de MongoDB et Node.js
Comme nous l'avons vu plus haut, MongoDB est l'une des bases de
données les plus populaires utilisées avec Node.js.
cursor.log("connected");
db.close();
});
Code Explication :
cursor.each(function(err, doc) {
console.log(doc);
});
});
Code Explication :
Sortie :
A partir de la sortie,
db.collection('Employee').insertOne({
Employeeid: 4,
EmployeeName: "NewEmployee"
});
});
1. Utiliser EmployeeDB
2. db.Employee.find({Employeeid :4 })
db.collection('Employee').updateOne({
"EmployeeName": "NewEmployee"
}, {
$set: {
"EmployeeName": "Mohan"
}
});
});
Code Explication :
Pour vérifier que les données ont été correctement mises à jour dans la
base de données, vous devez exécuter les commandes suivantes dans
MongoDB
1. Utiliser EmployeeDB
2. db.Employee.find({Employeeid :4 })
{
"EmployeeName": "Mohan"
}
);
});
Code Explication :
Pour vérifier que les données ont été correctement mises à jour dans la
base de données, vous devez exécuter les commandes suivantes dans
MongoDB
1. Utiliser EmployeeDB
2. db.Employee.find()
Lorsque l'on travaille avec des applications web basées sur JavaScript,
on parlera normalement ici du terme MEAN stack.
Code Explication :
Étape 2) Dans cette étape, nous allons maintenant obtenir tous les
documents de notre collection " Employés " et travailler avec eux en
conséquence.
Code Explication :
Etape 3) Dans cette étape, nous allons envoyer notre sortie sur la
page web et faire écouter notre application sur un port particulier.
Code Explication :
Sortie :
A partir de la sortie,
{
MongoClient.connect(url, function(err, db) {
var cursor = db.collection('Employee').find();
//noinspection JSDeprecatedSymbols
cursor.each(function(err, item) {
if (item != null) {
str = str + " Employee id " +
item.Employeeid + "";
}
});
res.send(str);
db.close();
});
});
app.route('/Employeeid').get(function(req, res) {
MongoClient.connect(url, function(err, db) {
var collection = db.collection('Employee');
var cursor = collection.find({});
str = "";
cursor.forEach(function(item) {
if (item != null) {
str = str + " Employee id " +
item.Employeeid + "";
}
}, function(err) {
res.send(str);
db.close();
}
);
});
});
var server = app.listen(8080, function() {});
Résumé
MongoClient.connect(url)
.then(function(err, db) {
db.collection('Employee').updateOne({
"EmployeeName": "Martin"
}, {
$set: {
"EmployeeName": "Mohan"
}
});
});
Code Explication:-
Note : -
Pour vérifier que les données ont été correctement insérées dans la
base de données, vous devez exécuter les commandes suivantes dans
MongoDB
1. Utiliser EmployeeDB
2. db.Employee.find({EmployeeName :Mohan })
La chose clé à noter dans cet exemple est que le code devient plus
propre, lisible et maintenable en utilisant des promesses imbriquées.
var Promise = require('promise');
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';
MongoClient.connect(url)
.then(function(db) {
db.collection('Employee').insertOne({
Employeeid: 4,
EmployeeName: "NewEmployee"
})
.then(function(db1) {
db1.collection('Employee').insertOne({
Employeeid: 5,
EmployeeName: "NewEmployee1"
})
})
});
Code Explication:-
var mongoClient =
Promise.promisifyAll(require('mongodb')).MongoClient;
.then(function(db) {
return db.collection('Employee').findAsync({})
})
.then(function(cursor) {
cursor.each(function(err, doc) {
console.log(doc);
})
});
Créer une promesse personnalisée
Une promesse personnalisée peut être créée en utilisant un module de
nœud appelé'q'. La bibliothèque'q' doit être téléchargée et installée en
utilisant le gestionnaire de paquets de nœud. Après avoir utilisé la
bibliothèque'q', la méthode "denodeify" peut être appelée, ce qui fait
que n'importe quelle fonction devient une fonction qui retourne une
promesse.
npm install q
var promise=Add;
promise.then
{console.log("Addition function complete");}
Dans notre exemple, nous allons avoir une simple fonction Ajouter qui
ajoutera 2 nombres, mais nous continuerons à arrêter l'exécution de la
méthode à différents points pour montrer comment les générateurs
peuvent être utilisés.
function* Add(x) {
yield x + 1;
var y = yield(null);
y = 6
return x + y;
}
gen.next();
gen.next();
C'est là que les générateurs sont utiles. L'un des exemples les plus
courants est la création de fonctions de minuterie.
Code Explication:-
1. Nous appelons le Timedelay comme un callback avec 1000
comme valeur.
2. Ensuite, nous voulons appeler à nouveau la fonction Timedelay
avec 2000 comme valeur.
3. Enfin, nous voulons appeler à nouveau la fonction Timedelay
avec 3000 comme valeur.
Étape 1) Créez un fichier appelé data.txt qui contient les données ci-
dessous. Supposons que ce fichier soit stocké sur le lecteur D de notre
machine locale.
Introduction
Événements
Générateurs
Utilisation du jasmin
Étape 2) Écrire le code pertinent qui utilisera les flux pour lire les
données du fichier.
var fs = require("fs");
var stream;
stream = fs.createReadStream("D://data.txt");
stream.on("data", function(data) {
var chunk = data.toString();
console.log(chunk);
});
stream.write("Tutorial on Node.js")
stream.write("Introduction")
stream.write("Events")
stream.write("Generators")
stream.write("Data Connectivity")
stream.write("Using Jasmine")
Introduction
Événements
Générateurs
Utilisation du jasmin
Tuyaux dans Node.js
Dans les applications Node, les flux peuvent être canalisés ensemble à
l'aide de la méthode pipe(), qui prend deux arguments :
Introduction
Événements
Générateurs
Utilisation du jasmin
Etape 2) Créez un fichier vide vide appelé dataOutput.txt et placez-le
sur le lecteur D de votre machine locale.
eventEmitter.emit('data_received');
3. L'Événement newListener
Résumé
L'utilisation des fonctions de rappel dans Node.js a ses
inconvénients. Parfois, au cours du processus de développement,
l'utilisation imbriquée de fonctions de rappel peut rendre le code
plus désordonné et difficile à maintenir.
La plupart des problèmes avec les fonctions de rappel imbriquées
peuvent être atténués par l'utilisation de promesses et de
générateurs dans node.js.
Une Promesse est une valeur retournée par une fonction
asynchrone pour indiquer l'achèvement du traitement effectué par
la fonction asynchrone.
Les promesses peuvent être imbriquées les unes dans les autres
pour rendre le code meilleur et plus facile à maintenir lorsque de
nombreuses fonctions asynchrones doivent être appelées en même
temps.
Les générateurs peuvent également être utilisés pour atténuer les
problèmes liés aux rappels imbriqués et aider à éliminer ce que l'on
appelle l'enfer du rappel. Les générateurs sont utilisés pour arrêter
le traitement d'une fonction. Ceci est accompli par l'utilisation de la
méthode'yield' dans la fonction asynchrone.
Les flux sont utilisés dans Node.js pour lire et écrire les données
des périphériques d'entrée-sortie. Node.js utilise la bibliothèque'fs'
pour créer des flux lisibles et inscriptibles dans les fichiers. Ces flux
peuvent être utilisés pour lire et écrire des données à partir de
fichiers.
Les tuyaux peuvent être utilisés pour connecter plusieurs flux
ensemble. L'un des exemples les plus courants est de canaliser le
flux de lecture et d'écriture pour le transfert de données d'un fichier
à l'autre.
Node.js est aussi souvent étiqueté comme un cadre basé sur les
événements, et il est très facile de définir des événements dans
Node.js. Il est possible de définir des fonctions qui répondent à ces
événements.
Les événements exposent également les méthodes d'intervention
en cas d'événements clés. Par exemple, nous avons vu le
gestionnaire d'événements once() qui peut être utilisé pour
s'assurer qu'une fonction de rappel n'est exécutée qu'une seule fois
lorsqu'un événement est déclenché.
Chapitre 8 : Tester avec du
jasmin
Jasmine aide à automatiser les tests unitaires, ce qui est devenu une
pratique clé lors du développement et du déploiement d'applications
web modernes.
jasmine init
Etape 1) Définir le code à tester. Nous allons définir une fonction qui
va ajouter 2 nombres et retourner le résultat. Ce code va être écrit dans
un fichier appelé "Add.js".
var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
Etape 2) Ensuite nous devons définir notre code de test jasmin qui
sera utilisé pour tester notre fonction "Ajouter" dans le fichier Add.js.
Le code ci-dessous doit être mis dans un fichier appelé add-spec.js.
Code Explication :
Sortie
Résumé