Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

Sorry, you do not have permission to ask a question, You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please type your username.

Please type your E-Mail.

Please choose an appropriate title for the post.

Please choose the appropriate section so your post can be easily searched.

Please choose suitable Keywords Ex: post, video.

Browse

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Navigation

  • Home
  • About Us
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • About Us
  • Contact Us
Home/ Questions/Q 4755

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Latest Questions

Author
  • 61k
Author
Asked: November 27, 20242024-11-27T02:55:08+00:00 2024-11-27T02:55:08+00:00

Comment utiliser le Middleware dans Express JS

  • 61k

Lorsqu’on crée une application express, ceci n’est ni plus, ni moins qu’une succession des fonctions middleware

A. Définitions

Avant de définir une middleware, comprenons d’abord ce que s’est Express JS. Express JS est un framework permettant de construire proprement des applications web basées sur Node JS facile à maintenir.

Qu’est ce qu’une fonction middleware alors ?

Selon le site officiel d’Express js, une fonction middleware “est une fonction qui peut accéder à l’objet Request(req), l’objet Response (res) et à la fonction middleware suivant dans le cycle demande-réponse de l’application désignée par une variable nommée (next)”.

Elle a comme rôles :

  • Exécuter les codes (de tout type) ;

  • Apporter des modifications aux objets de demande(req) et de réponse(res) ;

  • Terminer le cycle de demande-réponse(req-res) ;

  • Appeler le middleware suivant (next) dans la pile.

B. Types

On peut charger le middleware à plusieurs niveaux :

1. Niveau application
Voici un exemple d’une fonction middleware qui affiche l’heure à laquelle la requête à été envoyé au serveur ; utilisant les fonctions app.use() et app.METHOD(), où METHOD est la méthode HTTP (Get, Post & Put).

Image description

2. Niveau Routeur
Le fonctionnement du middleware niveau routeur est identique qu’avec les middleware niveau application ; contrairement à ces dernières, elles sont liées à l’instance express.Router().

Prenons l’exemple précédent et appliquons maintenant notre middleware au niveau de routeur :

Image description

3. Traitement d’erreurs

Contrairement aux deux types précédents, les middlewares de traitement d’erreur comprennent toujours 4 arguments (err, req, res, next). Même si vous n’avez pas besoin d’utiliser l’objet next, vous devez le spécifier pour maintenir la signature. Sinon, l’objet next sera interprété comme un middleware ordinaire et n’arrivera pas à gérer les erreurs.

Revenons toujours dans le premier exemple et ajoutons maintenant notre middleware de traitement d’erreurs juste après :

Image description
Essayons maintenant de provoquer une erreur (en écrivant reqe.reqTime à la place req.reqTime), vous allez remarquer avec moi, que notre middleware de traitement d’erreur va automatiquement être appelé et affichera le message “Something broke!” à l’utilisateur.

4. Le Middleware intégré

Depuis la version 4.x d’express, il n’existe qu’une seule fonction middleware qui est intégrée dans express. Il s’agit de la fonction “express.static” ; elle permet de servir les ressources (actifs) statiques d’une application express.

Exemple : les images, vidéos, documents, etc…

syntaxe : express.static(“root”, [options])
root représente le nom du répertoire qui contient les actifs à servir et options qui représente quelques options facultatives à mettre notamment redirect, setHeader, …

Supposons maintenant qu’on a un dossier “public” dans le répertoire de notre projet où on y met quelques images à afficher.

Au niveau de notre serveur, nous aurons comme code :

Image description

Ainsi dans notre fichier view (ex. index.ejx), nous pouvons maintenant insérer nos images à afficher.

Image description
Vous allez remarquer sur le path de l’image, je n’ai plus la peine de préciser le nom du dossier, plutôt que le nom de l’image et son extension uniquement.

5. Les Middlewares tiers

Pour rendre le développement facile, en ajoutant d’autres fonctionnalités à votre application, plusieurs middlewares tiers ont été développés. Ex. Morgan, cookie-parser, etc …

Pour pouvoir les utiliser, il faut commencer par Installer le module Node.js pour la fonctionnalité requise, puis chargez-le dans votre application (ça peut être au niveau application, tout comme au niveau router).

voici un exemple qui illustre l’installation et le chargement de la fonction middleware Morgan (permet de voir le temps d’exécution d’une requête) :

installation ; sur votre terminal, taper :

$ npm install morgan 
Enter fullscreen mode Exit fullscreen mode

Importons et utilisons maintenant notre module sur notre serveur :

Image description

Conclusion

Tout au long de cet article, nous avons parlé au sujet des fonctions Middleware. nous devons retenir qu’une fonction middleware n’est qu’une fonction qui s’exécute lorsque le serveur reçoit une requête et envoie la réponse. Elle se situe entre la requête et la réponse.

Une application express peut utiliser de middleware du type intégré ou tiers, de traitement d’erreurs, du niveau application ou encore du niveau routeur.

Merci !

Si vous avez de question, n’hésitez pas à nous contacté sur LinkedIn et si vous avez aimé, n’hésitez pas de partager le lien de l’article avec vos ami-e-s.

expressnodewebdev
  • 0 0 Answers
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

Sidebar

Ask A Question

Stats

  • Questions 4k
  • Answers 0
  • Best Answers 0
  • Users 1k
  • Popular
  • Answers
  • Author

    How to ensure that all the routes on my Symfony ...

    • 0 Answers
  • Author

    Insights into Forms in Flask

    • 0 Answers
  • Author

    Kick Start Your Next Project With Holo Theme

    • 0 Answers

Top Members

Samantha Carter

Samantha Carter

  • 0 Questions
  • 20 Points
Begginer
Ella Lewis

Ella Lewis

  • 0 Questions
  • 20 Points
Begginer
Isaac Anderson

Isaac Anderson

  • 0 Questions
  • 20 Points
Begginer

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore, ask, and connect. Join our vibrant Q&A community today!

About Us

  • About Us
  • Contact Us
  • All Users

Legal Stuff

  • Terms of Use
  • Privacy Policy
  • Cookie Policy

Help

  • Knowledge Base
  • Support

Follow

© 2022 Querify Question. All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.