Tutoriel sur les frameworks Node.js et Express.js
โก Rรฉsumรฉ intelligent
Express.js est un framework minimal pour applications web Node.js qui ajoute le routage, les intergiciels et le rendu de modรจles au module HTTP principal, permettant ainsi aux applications monopages, multipages et hybrides d'atteindre un serveur fonctionnel en trรจs peu de lignes.
Dans ce tutoriel, nous รฉtudierons le framework Express. Ce framework est conรงu pour รชtre un framework d'application web Node.js minimaliste et flexible, offrant un ensemble de fonctionnalitรฉs robustes pour la crรฉation d'applications web monopages, multipages et hybrides.
Quโest-ce quโExpress.js ?
Express.js est un framework serveur d'applications web Node.js, spรฉcialement conรงu pour la crรฉation d'applications web monopages, multipages et hybrides.
Il est devenu le framework serveur standard pour Node.js. Express constitue la partie backend de ce que l'on appelle la pile MEAN.
Express superpose le routage et les intergiciels au protocole HTTP Node.js principal. flux et les API d'รฉvรฉnements.
Le MEAN est un logiciel gratuit et open source Javascรฉnario pile logicielle pour la crรฉation de sites Web dynamiques et d'applications Web comprenant les composants suivants ;
1) MongoDB โ La base de donnรฉes NoSQL standard
2) Express.js โ Le framework par dรฉfaut des applications Web
3) AngularJS - Le JavaScript MVC framework utilisรฉ pour les applications Web
4) Node.js โ Cadre utilisรฉ pour les applications serveur et rรฉseau รฉvolutives.
Le framework Express.js facilite le dรฉveloppement d'une application qui peut รชtre utilisรฉe pour gรฉrer plusieurs types de requรชtes telles que les requรชtes GET, PUT, POST et DELETE.
Installation et utilisation d'Express
Express est installรฉ via Node Package Manager. Cela peut รชtre fait en exรฉcutant la ligne suivante dans la ligne de commande
npm installer express
La commande ci-dessus demande au gestionnaire de paquets Node de tรฉlรฉcharger l'express requis modules et installez-les en consรฉquence.
Note de version : npm installe dรฉsormais Express 5.2 ; de nombreux projets utilisent encore Express 4. Les deux exรฉcutent les exemples ci-dessous sur un version Node.js prise en charge.
Utilisons notre framework Express nouvellement installรฉ et crรฉons une simple application ยซ Hello World ยป.
Notre application va crรฉer un simple module serveur qui รฉcoutera sur le port numรฉro 3000. Dans notre exemple, si une requรชte est effectuรฉe via le navigateur sur ce numรฉro de port, l'application serveur enverra une rรฉponse ยซ Hello World ยป au client.
var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {});
Code Explication:
- Dans notre premiรจre ligne de code, nous utilisons la fonction require pour inclure le ยซ module express ยป.
- Avant de pouvoir commencer ร utiliser le module express, nous devons en faire un objet.
- Nous crรฉons ici une fonction de rappel. Cette fonction sera appelรฉe chaque fois qu'un utilisateur accรฉdera ร la racine de notre application web, ร savoir http://localhost:3000. Elle servira ร afficher la chaรฎne de caractรจres ยซ Hello World ยป sur la page web.
- 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 fourni par le module 'request' pour permettre de renvoyer du contenu ร la page Web.
- Nous utilisons ensuite la fonction listen pour que notre application serveur รฉcoute les requรชtes client sur le port 3000. Vous pouvez spรฉcifier ici n'importe quel port disponible.
Si la commande est exรฉcutรฉe avec succรจs, la sortie suivante s'affichera lorsque vous exรฉcutez votre code dans le navigateur.
Sortie :
De la sortie,
- Vous pouvez clairement le constater si vous consultez le URL Si vous accรฉdez ร localhost sur le port 3000, vous verrez la chaรฎne ยซ Hello World ยป affichรฉe sur la page.
- Comme nous avons spรฉcifiquement indiquรฉ dans notre code que le serveur รฉcoute sur le port 3000, nous pouvons visualiser le rรฉsultat en accรฉdant ร cette adresse. URL.
Que sont les itinรฉraires ?
Une seule route racine n'est que le point de dรฉpart.
Le routage dรฉtermine la maniรจre dont une application rรฉpond ร une requรชte client adressรฉe ร un point de terminaison particulier.
Par exemple, un client peut effectuer une requรชte HTTP GET, POST, PUT ou DELETE pour diverses opรฉrations. URL comme celles illustrรฉes ci-dessous ;
http://localhost:3000/Books http://localhost:3000/Students
Dans l'exemple ci-dessus,
- Si une requรชte GET est effectuรฉe pour la premiรจre URL, alors la rรฉponse devrait idรฉalement รชtre une liste de livres.
- Si la requรชte GET est effectuรฉe pour la seconde URL, la rรฉponse devrait idรฉalement รชtre une liste d'รฉtudiants.
- Donc, d'aprรจs le URL Lorsqu'une ressource est consultรฉe, une fonctionnalitรฉ diffรฉrente du serveur web est appelรฉe, et la rรฉponse correspondante est envoyรฉe au client. C'est le principe du routage.
Chaque route peut avoir une ou plusieurs fonctions de gestionnaire, qui sont exรฉcutรฉes lorsque la route correspond.
La syntaxe gรฉnรฉrale d'un itinรฉraire est indiquรฉe ci-dessous
app.METHOD(PATH, HANDLER)
Oรน,
1) l'application est une instance du module express
2) METHOD est une mรฉthode de requรชte HTTP (GET, POST, PUT ou DELETE)
3) PATH est un chemin sur le serveur.
4) HANDLER est la fonction exรฉcutรฉe lorsque l'itinรฉraire correspond.
| Appeler | Demander | Interet |
|---|---|---|
| app.get(PATH, HANDLER) | รCONOMISEZ | Lire |
| app.post(CHEMIN, GESTIONNAIRE) | POSTEZ | Crรฉer |
| app.put(CHEMIN, GESTIONNAIRE) | PUT | remplacer |
| app.delete(PATH, HANDLER) | EFFACER | Supprimer |
| app.route(PATH) | Enchaรฎnรฉ | Gestionnaires de groupe |
| app.use(GESTIONNAIRE) | Toutes | Middleware de montage |
โ ๏ธ express 5 Notes: Ces signatures restent inchangรฉes, mais app.del() est devenu app.delete(), res.sendfile() est devenu res.sendFile(), et les caractรจres gรฉnรฉriques doivent dรฉsormais avoir des noms tels que /*splat.
Prenons l'exemple de la mise en ลuvre de routes dans Express. Notre exemple crรฉera trois routes :
- Une route /Node qui affichera la chaรฎne ยซ Tutoriel sur Node ยป si cette route est accรฉdรฉe
- Une route /Angular qui affichera la chaรฎne ยซ Tutoriel sur Angular ยป si cette route est accรฉdรฉe
- Une route par dรฉfaut / qui affichera la chaรฎne ยซ Bienvenue ร Guru99 tutoriels.
Notre code de base restera le mรชme que les exemples prรฉcรฉdents. L'extrait ci-dessous est un module complรฉmentaire permettant de montrer comment le routage est implรฉmentรฉ.
var express = require('express'); var app = express(); app.route('/Node').get(function(req,res) { res.send("Tutorial on Node"); }); app.route('/Angular').get(function(req,res) { res.send("Tutorial on Angular"); }); app.get('/',function(req,res){ res.send('Welcome to Guru99 Tutorials'); });
Code Explication:
- Ici, nous dรฉfinissons un itinรฉraire si le URL http://localhost:3000/Node is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Node URLCette fonction possรจde 2 paramรจtres.
- Le paramรจtre principal que nous utiliserons est le paramรจtre 'res', qui peut รชtre utilisรฉ pour renvoyer des informations au client.
- Le paramรจtre 'req' contient des informations sur la requรชte en cours. Parfois, des paramรจtres supplรฉmentaires peuvent รชtre envoyรฉs dans le cadre de la demande effectuรฉe, et le paramรจtre ยซ req ยป peut donc รชtre utilisรฉ pour trouver les paramรจtres supplรฉmentaires envoyรฉs.
- Nous utilisons la fonction d'envoi pour renvoyer la chaรฎne ยซ Tutoriel sur Node ยป au client si la route Node est choisie.
- Ici, nous dรฉfinissons un itinรฉraire si le URL http://localhost:3000/Angular is selected in the browser. To the route, we are attaching a callback function which will be called when we browse to the Angular URL.
- Nous utilisons la fonction d'envoi pour renvoyer la chaรฎne ยซ Tutoriel sur Angular ยป au client si la route Angular est choisie.
- Il s'agit de la route par dรฉfaut empruntรฉe lorsqu'on accรจde ร la racine de l'application : http://localhost:3000. Lorsque la route par dรฉfaut est choisie, le message ยซ Bienvenue sur Guru99 tutoriels seront envoyรฉs au client.
Si la commande est exรฉcutรฉe avec succรจs, la sortie suivante s'affichera lorsque vous exรฉcutez votre code dans le navigateur.
Sortie :
De la sortie,
- Vous pouvez clairement le constater si vous consultez le URL Si vous accรฉdez ร localhost sur le port 3000, vous verrez la chaรฎne ยซ Bienvenue sur Guru99 tutoriels sont affichรฉs sur la page.
- Parce que dans notre code, nous avons mentionnรฉ que notre valeur par dรฉfaut URL afficherait ce message.
Ensuite, accรฉdez ร /Node.
De la sortie,
- Vous pouvez constater que si le URL L'URL ayant รฉtรฉ modifiรฉe en /Node, la route Node correspondante sera sรฉlectionnรฉe et la chaรฎne ยซ Tutoriel sur Node ยป s'affichera.
Ensuite, accรฉdez ร /Angular.
De la sortie,
- Vous pouvez constater que si le URL L'URL ayant รฉtรฉ modifiรฉe en /Angular, la route Node correspondante sera sรฉlectionnรฉe et la chaรฎne ยซ Tutoriel sur Angular ยป s'affichera.
Exemple de serveur Web utilisant express.js
L'exemple prรฉcรฉdent nous a montrรฉ comment dรฉterminer le contenu ร afficher en fonction du routage. Ce type de routage est utilisรฉ dans la plupart des applications web modernes. L'autre aspect d'un serveur web concerne l'utilisation de modรจles (templates) avec Node.js.
Pour crรฉer rapidement des applications Node.js ร la volรฉe, une mรฉthode simple et efficace consiste ร utiliser des modรจles. De nombreux frameworks permettent de crรฉer des modรจles. Nous prendrons ici l'exemple du framework Jade.
Jade s'installe via le gestionnaire de paquets Node.js. Pour ce faire, exรฉcutez la ligne de commande suivante :
npm installer jade
La commande ci-dessus demande au gestionnaire de paquets Node de tรฉlรฉcharger les modules Jade requis et de les installer en consรฉquence.
NOTE: Dans la derniรจre version de Node, Jade est obsolรจte. Utilisez plutรดt le carlin.
โ ๏ธ รquivalent moderne : installer Carlin Renommez index.jade en index.pug et dรฉfinissez app.set('view engine','pug'). Le package jade ne reรงoit aucune mise ร jour ; les รฉtapes ci-dessous restent valides.
Utilisons notre framework Jade nouvellement installรฉ et crรฉons quelques modรจles de base.
รtape 1) La premiรจre รฉtape consiste ร crรฉer un modรจle Jade. Crรฉez un fichier nommรฉ index.jade et insรฉrez le code ci-dessous. Assurez-vous de crรฉer le fichier dans le dossier ยซ views ยป.
- Nous spรฉcifions ici que le titre de la page sera remplacรฉ par la valeur transmise lorsque ce modรจle sera invoquรฉ.
- Nous prรฉcisons รฉgalement que le texte de la balise d'en-tรชte sera remplacรฉ par ce qui sera transmis dans le modรจle Jade.
Voici le code de l'application qui le gรฉnรจre.
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { res.render('index', {title:'Guru99',message:'Welcome'}) }); var server=app.listen(3000,function() {});
Code Explication:
- La premiรจre chose ร spรฉcifier dans l'application est le ยซ moteur de rendu ยป qui sera utilisรฉ pour afficher les modรจles. Puisque nous allons utiliser Jade pour le rendu de nos modรจles, nous le spรฉcifions en consรฉquence.
- La fonction de rendu est utilisรฉe pour afficher une page Web. Dans notre exemple, nous rendons le modรจle (index.jade) qui a รฉtรฉ crรฉรฉ prรฉcรฉdemment.
- Nous transmettons les valeurs de ยซGuruLes valeurs ยซ 99 ยป et ยซ Bienvenue ยป seront respectivement attribuรฉes aux paramรจtres ยซ title ยป et ยซ message ยป. Ces valeurs seront remplacรฉes par les paramรจtres ยซ title ยป et ยซ message ยป dรฉclarรฉs dans le modรจle index.jade.
Si la commande est exรฉcutรฉe avec succรจs, la sortie suivante s'affichera lorsque vous exรฉcutez votre code dans le navigateur.
Sortie :
De la sortie,
- Nous pouvons constater que le titre de la page est dรฉfini sur ยซGuru99โ et lโen-tรชte de la page devient ยซ Bienvenue ยป.
- Cela est dรป au modรจle Jade qui est invoquรฉ dans notre application Node.js.









