Maison > interface Web > js tutoriel > le corps du texte

Node Express apprend et discute sur le middleware

青灯夜游
Libérer: 2021-11-26 19:23:20
avant
2354 Les gens l'ont consulté

Cet article vous fera découvrir le middleware Express dans node et présentera le concept et la classification du middleware. J'espère qu'il vous sera utile !

Node Express apprend et discute sur le middleware

Express est un framework de développement d'applications Web simple et flexible qui peut être utilisé pour créer rapidement une application Web entièrement fonctionnelle ; en tant que framework de service de couche supérieure basé sur l'encapsulation Node.js, Express fournit une API plus simple que facilite l'organisation et la gestion des applications grâce au middleware et au routing.

Le concept du middleware

middleware est de modulariser la fonction de traitement des requêtes en plusieurs fonctions de sous-traitement. Une série de fonctions de sous-traitement peut former un middleware stack est dans la requête- ; cycle de réponse de l'application, vous pouvez accéder à l'objet de requête req, à l'objet de réponse res et à la fonction next(). La fonction next() est principalement responsable du passage du contrôle au middleware suivant si le middleware actuel ne termine pas la requête ; next() n'est pas appelé, alors la requête sera suspendue et le middleware défini ultérieurement ne sera pas exécuté. , L'ordre d'exécution du

middleware est strictement conforme à l'ordre d'enregistrement de haut en bas.

MiddlewareFonction qui peut effectuer les tâches suivantes :

Exécuter n'importe quel code

Modifier les objets de requête et de réponse
  • Terminer le cycle requête-réponse
  • Appeler le prochain middleware (suivant) dans la pile
  • L'objectif principal du
  • middleware
  • est de traiter les requêtes HTTP pour effectuer des tâches spécifiques telles que la vérification du statut de connexion, les journaux de requêtes, la gestion des erreurs, les cookies, etc.

Classification des middlewares

Node Express apprend et discute sur le middleware

1 Middleware au niveau de l'application

Utilisez la fonction app.use() pour lier le middleware au niveau de l'application à l'instance de l'objet d'application

const app = express();
/*表示匹配任何路由*/
app.use(function(req,res,next){
    console.log('请求时间:' +  Date.now());
    /*表示匹配完成这个中间件就继续往下执行。*/
    next()
})
Copier après la connexion

2 Middleware au niveau du routage

Route -le middleware au niveau fonctionne de la même manière que le middleware au niveau de l'application, sauf qu'il est lié à l'instance du routeur

import express from 'express';

const app = express();

const router = express.router();

router.use(
  '/user',
  function (req, res, next) {
    console.log(1);
    next();
  },
  function (req, res, next) {
    console.log(2);
    next();
  },
  function (rex, res, next) {
    console.log(3);
    next();
  }
);
Copier après la connexion

3 Middleware de gestion des erreurs

Le middleware de gestion des erreurs nécessite toujours 4 paramètres et doit fournir 4 paramètres pour l'identifier comme une erreur gestion de la fonction middleware. Même si la fonction suivante n'est pas requise, elle doit être spécifiée. Sinon, la fonction suivante est interprétée comme un middleware standard et les erreurs ne peuvent pas être gérées

app.use(function(err, req, res, next){
    console.log(err.stack);
    res.status(500).send(err);
})
Copier après la connexion

4 Middleware intégré

Express possède le middleware intégré suivant :

express.static : fournit des services de ressources statiques

express .router : fournit un service de routage
  • 5 Middleware tiers

Middleware tiers tel que l'analyseur de corps, l'analyseur de cookies, etc.

6 Middleware personnalisé

Le middleware personnalisé est défini comme une fonction , en acceptant les paramètres req ,res,next, utilisez app.use() pour enregistrer le middleware

function log(req,res,next) {
    req.requestTime = Date.now();
    next()
}
// 注册自定义中间件
app.use(log);
Copier après la connexion
// 自定义可配置中间件
function log(options) {
    return function (req,res,next) {
        // 根据options实现中间件功能
        next
    }
}
Copier après la connexion
Pour plus de connaissances sur les nœuds, veuillez visiter :

tutoriel nodejs

 ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:juejin.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal