Middlewares

Comme la plupart des frameworks web, Express permet d'utiliser des middlewares tiers ou implémenter des middlewares personnalisés.

Rôle des middlewares

Les middlewares permettent :

  • D'exécuter du code à chaque requête.

  • Modifier la requête et/ou la réponse.

  • Interrompre la requête.

  • Appeler le middleware suivant ou interrompre la chaîne de middlewares.

Types de middlewares

Il existe plusieurs types de middlewares :

Application-level

Le middleware est appliqué à l'ensemble des requêtes avec la méthode app.use ou sur un type de requêtes en particulier avec les méthode app.get ou app.post etc... ou encore sur une URL en particulier :

app.get('/users/:userId', (req, res, next) => {
    console.log(req.params.userId);
    next();
});

Router-level

Ce middleware fonctionne similairement à l' application-level mais ne s'applique qu'au router en question et donc une partie des URLs.

Error-handling

Ce middleware permet de capturer uniquement les erreurs. Il s'implémente en ajoutant simplement le paramètre err à la fonction du middleware.

Built-in

Express fournit des middlewares natifs comme express.static pour servir les fichiers statiques.

Le middleware express.static permet de définir les ressources statiques distribuées par l'application.

Il reste préférable d'utiliser un CDN (Content Delivery Network) pour servir des ressources statiques ou encore mieux : Firebase Hosting https://firebase.google.com/docs/hosting/, AWS Cloudfront + S3, Netlify https://www.netlify.com/...

Third-party

Tous les middlewares disponibles sur NPM.

Last updated