Dans le cadre des applications Express, un middleware est décrit comme des fonctions ayant accès à l'objet de requête, à l'objet de réponse, et à la fonction middleware suivante dans le cycle de requête-réponse.
En termes plus simples, un middleware est une fonction avec accès aux objets requête (req
), réponse (res
) et à la fonction next()
du cycle de vie de l'application (ou du routeur), que vous pourriez utiliser pour mettre en place des pré-traitements, des opérations d'après-traitement ou même des erreurs dans votre déroulé de traitements.
L'utilisation des middlewares dans Express est extrêmement importante puisque c'est grâce à eux que vous allez pouvoir structurer votre code et vos routes.
Voici un exemple simple de comment un middleware peut être utilisé dans une application Express pour logger les détails de chaque requête :
const express = require('express');
const app = express();
app.use((req, res, next) => {
console.log('Date :', Date.now());
console.log('Request Type:', req.method);
console.log('Request URL:', req.originalUrl);
next();
});
Dans cet exemple, le middleware enregistre des informations sur chaque demande et puis passe le contrôle au prochain middleware dans la pile en appelant next()
.
app.use()
ou vous pouvez utiliser plusieurs appels à app.use()
.next()
à la fin de chaque middleware, sauf si vous envoyez une réponse. Ne pas le faire bloquera l'application.En somme, les middlewares sont des composants puissants dans la création d'applications Express. Ils facilitent l'organisation de votre code, l'ajout de fonctionnalités et la manipulation des objets de requête et de réponse.