Serveur web avec Express et Node.js

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.

Espace de travail

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éation du serveur

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 (/).

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");
});

Lancer le serveur

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 :

Page d'accueil du serveur web créé avec Express et Node.js

Nouvelle page

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.

Données JSON retournées sur http://localhost:3000/api

Code complet

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");
});

Téléchargement

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

nodejs-express-web-server.zip

Voir aussi


Dernière mise à jour : 12/01/2023