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.
L'environnement d'exploitation de ce tutoriel : système windows10, nodejs version 12.19.0, ordinateur Dell G3.
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 :
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() // 模拟请求发起
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 NodejsCe 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!