Express.js est un framework web rapide, ouvert et minimaliste pour Node.js. Il est conçu pour faciliter la création d'applications web et d'APIs robustes de manière rapide et facile. Express agit comme une couche par-dessus Node.js, simplifiant la gestion des requêtes et des réponses, tout en offrant des fonctionnalités supplémentaires qui ne sont pas présentes dans le module HTTP de Node.js.

Caractéristiques Principales d'Express.js :

  • Middleware : Les fonctions middleware sont au cœur d'Express. Elles ont accès aux objets de requête (req), de réponse (res) et à la fonction middleware suivante dans le cycle de requête-réponse de l'application. Elles peuvent exécuter n'importe quel code, modifier les objets req et res, terminer le cycle de requête-réponse, ou appeler la fonction middleware suivante.
  • Routage : Express propose un système de routage qui permet de définir des routes pour vos applications en fonction des méthodes HTTP et des URL.
  • Gestion des vues : Express peut rendre des pages HTML côté serveur en utilisant des moteurs de rendu comme Pug (anciennement Jade), EJS, Mustache, etc.
  • Sécurité : Express offre des fonctionnalités pour aider à sécuriser vos applications, comme la définition d'en-têtes HTTP via des modules comme helmet.
  • Performance : Express est conçu pour être performant et optimisé pour les applications web.
  • Facilité de configuration : Avec Express, il est facile de configurer et de personnaliser votre serveur web. Vous pouvez définir des paramètres d'application, gérer les cookies, et bien plus encore.

Exemple de Serveur Basique avec Express.js :

Voici un exemple simple de serveur Express qui crée une route pour la racine et une autre pour une page "À propos".

const express = require('express');
const app = express();

// Route pour la page d'accueil
app.get('/', (req, res) => {
  res.send('Bienvenue sur la page d\'accueil!');
});

// Route pour la page "À propos"
app.get('/about', (req, res) => {
  res.send('À propos de nous');
});

// Le serveur écoute sur le port 3000
app.listen(3000, () => {
  console.log('Serveur démarré sur http://localhost:3000');
});

 

Pour exécuter cet exemple, vous devez d'abord installer Express dans votre projet Node.js en utilisant npm :

npm install express

Middleware dans Express.js :

Express est très flexible en ce qui concerne le middleware, vous permettant de définir des fonctions qui s'exécutent entre la réception de la requête et l'envoi de la réponse. Voici un exemple de middleware qui enregistre la date et l'heure de chaque requête :

app.use((req, res, next) => {
  console.log('Time:', Date.now());
  next(); // Passe à la fonction middleware suivante
});

 

Gestion des Erreurs dans Express.js :

Express a un mécanisme de gestion des erreurs. Les erreurs sont gérées par des fonctions middleware spécifiques à quatre arguments que vous définissez dans votre application.

app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Quelque chose a mal tourné!');
});

 

 

Request.rest pour l'extension Rest Client

###
POST http://localhost:3000/api/data
Content-Type: application/json

{
    "id": 1,
    "name": "toto"
}

###
GET http://localhost:3000/

###
GET http://localhost:3000/about

###
GET http://localhost:3000/quote
###
GET http://localhost:3000/quoteauthor

Conclusion :

Express.js simplifie le développement d'applications Node.js en fournissant un cadre structuré et des fonctionnalités puissantes pour gérer les requêtes, les réponses, les sessions, le routage, et bien plus encore. C'est l'un des frameworks les plus populaires pour Node.js et est soutenu par une large communauté de développeurs.

 
Modifié le: mardi 28 novembre 2023, 07:57