Cette page explique comment créer un serveur Web très simple avec Express et Node.js.
Express est un framework web pour Node.js. Il est conçu pour construire des applications web et des APIs. Il offre un moyen simple et flexible de gérer le routage, les intergiciels et d'autres fonctionnalités. Express facilite la gestion des demandes et des réponses HTTP et permet aux développeurs de créer des applications Web robustes et évolutives. Il est largement utilisé et bien documenté, avec une communauté de développeurs active.
L'exemple ci-dessous a été testés avec ces versions :
Dans la suite, nous supposerons que Node.js et npm sont installés. Lisez cette page, si vous devez installer Node.js sur Ubuntu.
Créez un nouveau dossier pour votre projet et allez dedans. Commençons par créer le projet Node.js :
npm init -y
Installez le module Express.
npm install express --save
L'option --save
est utilisée pour ajouter Express à votre fichier package.json.
En d'autres termes, il ajoute express comme une dépendance.
Une fois l'installation terminée, ouvrez votre package.json pour voir express
listé parmi les dépendances :
"dependencies": {
"express": "^4.18.2"
}
Lorsque vous déployez votre projet sur une autre machine, exécutez simplement npm install
pour installer toutes les dépendances.
Créez un fichier nommé server.js
et copiez le code suivant :
// Import the express module
var express = require("express");
// Initialize express
var app = express();
La première ligne importe le module express. La deuxième ligne initialise Express.
Maintenant, créons un écouteur d'événements.
Lorsque la page d'accueil de notre serveur est demandée, une fonction de callback est exécutée.
Ajoutez le code suivant à server.js
:
app.get("/", (req, res, next) => {
res.set('Content-Type', 'text/html');
res.send('<html><body><h1>Home Page</h1></body></html>');
});
La première ligne crée un événement lorsque la page d'accueil est demandée (/
).
req
est un objet contenant des informations sur la requête HTTP.res
est la réponse que votre fonction va renvoyer au client.Nous définissons le type de réponse text/html
.
Et ensuite nous envoyons au client un code HTML brut :
<html><body><h1>Home Page</h1></body></html>
Enfin, nous pouvons démarrer le serveur sur le port 3000 avec le code suivant :
// The server start listening on port 3000
app.listen(3000, () => {
console.log("Server running on port 3000");
});
Enfin, nous pouvons démarrer le serveur sur le port 3000 avec le code suivant :
node server.js
Allez dans votre navigateur et saisissez l'URL http://localhost:3000 :
Vous pouvez facilement créer une nouvelle page en ajoutant de nouvelles routes.
Par exemple, cet événement sera déclenché lorsque l'utilisateur demandera le chemin /api/
:
app.get("/", (req, res, next) => {
res.set('Content-Type', 'text/html');
res.send('<html><body><h1>Home Page</h1></body></html>');
});
Notez qu'ici, nous servons du contenu json au client à l'adresse http://localhost:3000/api
.
Voici le code complet de notre serveur :
// Import the express module
var express = require("express");
// Initialize express
var app = express();
// Home page
app.get("/", (req, res, next) => {
res.set('Content-Type', 'text/html');
res.send('<html><body><h1>Home Page</h1></body></html>');
});
// On path /api/ we serve JSON content
app.get("/api", (req, res, next) => {
res.set('Content-Type', 'application/json');
res.send('{"name":"John","age":30,"cars":["Ford", "BMW", "Fiat"]}');
});
// The server start listening on port 3000
app.listen(3000, () => {
console.log("Server running on port 3000");
});
Vous pouvez télécharger le code source du serveur Web Express ci-dessous. Pour exécuter le serveur, décompressez le fichier et exécutez les lignes suivante dans le dossier du projet :
npm install
npm start