In Node ist Middleware eine funktionale Kapselungsmethode, die sich hauptsächlich auf die Methode zur Kapselung der detaillierten Verarbeitung aller HTTP-Anfragen bezieht, sodass Middleware zur Vereinfachung und Isolierung dieser Infrastrukturdetails verwendet werden kann mit Geschäftslogik.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.
In NodeJS bezieht sich Middleware hauptsächlich auf die Methode, die alle HTTP-Anfragedetails kapselt. Eine HTTP-Anfrage umfasst normalerweise viel Arbeit: wie Protokollierung, IP-Filterung, Abfragezeichenfolge, Analyse des Anforderungstexts, Cookie-Verarbeitung, Berechtigungsüberprüfung, Parameterüberprüfung , Ausnahmebehandlung usw., aber für Webanwendungen möchten sie nicht so vielen detaillierten Prozessen ausgesetzt sein, daher wird Middleware verwendet, um die Details zwischen dieser Infrastruktur und der Geschäftslogik zu vereinfachen und zu isolieren, damit Entwickler mehr darauf achten können In Bezug auf die Geschäftsentwicklung sieht sein Arbeitsmodell wie folgt aus:
Kernimplementierung des Middleware-Mechanismus
Middleware ist die Verarbeitungsmethode von der Initiierung der HTTP-Anfrage bis zum Ende der Antwort. Sie muss normalerweise verarbeitet werden Anfrage und Antwort, also a Die Grundform der Middleware ist wie folgt:
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() // 模拟请求发起
Wenn es asynchrone Vorgänge in der Middleware gibt, muss die next()-Methode aufgerufen werden, nachdem der asynchrone Vorgang beendet ist, andernfalls kann die Middleware nicht ausgeführt werden Bestellung
Empfohlenes Lernen: „
nodejs Video-TutorialDas obige ist der detaillierte Inhalt vonWas ist die Middleware des Knotens?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!