Express.js est un framework pour Node.js qui fournit des outils et fonctionnalités pour construire des applications web et API. Le middleware Express.js est une fonction ou une série de fonctions qui ont accès à l’objet Req (demande), Res (réponse), et la fonction Next qui est utilisée pour passer le contrôle à la prochaine fonction middleware.
Le middleware peut effectuer des tâches telles que la gestion des erreurs, le journalisation des requêtes, la validation des données ou l’authentification des utilisateurs. Il fonctionne en “glissant” entre le moment où le serveur reçoit une requête et le moment où il envoie une réponse.
Chaque fonction middleware peut soit terminer la requête/réponse, soit passer le contrôle à la prochaine fonction middleware. Ainsi, l’ordre dans lequel les middlewares sont définis et invoqués est important.
Voici un exemple d’un middleware simple dans Express.js :
```
app.use(function(req, res, next) {
console.log(‘Time:’, Date.now())
next()
})
```
Dans cet exemple, la fonction middleware enregistre l’heure actuelle, puis passe le contrôle à la prochaine fonction middleware.