Maison > interface Web > Questions et réponses frontales > Qu'est-ce que le middleware du nœud ?

Qu'est-ce que le middleware du nœud ?

WBOY
Libérer: 2022-04-15 17:17:17
original
3567 Les gens l'ont consulté

Dans Node, le middleware est une méthode d'encapsulation fonctionnelle, qui fait principalement référence à la méthode d'encapsulation du traitement détaillé de toutes les requêtes http ; les requêtes http contiennent généralement beaucoup de contenu, le middleware peut donc être utilisé pour simplifier et isoler les détails de ces infrastructures. avec la logique métier.

Qu'est-ce que le middleware du nœud ?

L'environnement d'exploitation de ce tutoriel : système windows10, nodejs version 12.19.0, ordinateur Dell G3.

Qu'est-ce que le middleware de node ? Conceptuellement, le middleware nodejs est une méthode d'encapsulation fonctionnelle, qui fait principalement référence à la méthode d'encapsulation de tous les détails des requêtes HTTP.

Dans nodeJS, le middleware fait principalement référence à la méthode qui encapsule tous les détails d'une requête Http. Une requête Http comprend généralement beaucoup de travail : comme la journalisation, le filtrage IP, la chaîne de requête, l'analyse du corps de la requête, le traitement des cookies, la vérification des autorisations, la vérification des paramètres. , gestion des exceptions, etc., mais pour les applications Web, elles ne veulent pas être exposées à autant de processus détaillés, c'est pourquoi un middleware est utilisé pour simplifier et isoler les détails entre ces infrastructures et la logique métier, afin que les développeurs puissent y prêter plus d'attention. En termes de développement commercial, son modèle de travail est le suivant :

Quest-ce que le middleware du nœud ?Implémentation de base du mécanisme middleware

Le middleware est la méthode de traitement depuis le lancement de la requête Http jusqu'à la fin de la réponse. requête et réponse, donc a La forme de base du middleware est la suivante :

const middleware = (req, res, next) => {
  // TODO
  next()
}
 模拟最基本的中间件
// 定义简单的三个中间件
      const httpMeth1 = (req, res, next) => {
        console.log('我是请求1')
        next()
      }
      const httpMeth2 = (req, res, next) => {
        console.log('我是请求2')
        next()
      }
      const httpMeth3 = (req, res, next) => {
        console.log('我是请求3')
        next()
      }
      // 中间件数组
      const allHttpMeth = [httpMeth1, httpMeth2, httpMeth3]
      function run (req, res) {
        const next = () => {
          // 获取中间件
          const allHttpMethitem = allHttpMeth.shift()
          if (allHttpMethitem) {
            // 执行
            allHttpMethitem(req, res, next)
          }
        }
        next()
      }
      run() // 模拟请求发起
Copier après la connexion

S'il y a des opérations asynchrones dans le middleware, la méthode next() doit être appelée après la fin du processus d'opération asynchrone, sinon le middleware ne peut pas être exécuté dans commander

Apprentissage recommandé : "

Tutoriel vidéo 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:php.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