Heim >Web-Frontend >Front-End-Fragen und Antworten >NodeJS-Middleware-Implementierung

NodeJS-Middleware-Implementierung

WBOY
WBOYOriginal
2023-05-28 15:07:39668Durchsuche

Node.js ist eine sehr leistungsstarke serverseitige Betriebsumgebung und ein beliebtes Back-End-Entwicklungsframework. Node.js verfügt über viele leistungsstarke Funktionen, darunter Middleware. Middleware ist ein wichtiges Konzept in Node.js, das Node.js-Anwendungen eine flexiblere und anpassbarere Möglichkeit zur Bearbeitung von Anforderungen bietet. Im folgenden Artikel besprechen wir die Verwendung von Middleware in Node.js.

Was ist Middleware?

In Node.js ist Middleware eine Funktion, die auf das Anwendungsanforderungsobjekt (req) und das Antwortobjekt (res) zugreifen und die Steuerung direkt an die nächste Middleware-Funktion übergeben kann. Middleware-Funktionen dienen normalerweise dazu, bestimmte Vorgänge auszuführen, z. B. Anforderungsprotokollierung, Authentifizierung, Datenüberprüfung usw.

Middleware ist eine der sehr leistungsstarken Funktionen von Node.js. Sie kann die folgenden Funktionen bereitstellen:

  1. Hilfe bei der Verarbeitung von HTTP-Anfragen und -Antworten
  2. Ändern von Anforderungs- oder Antwortobjekten
  3. Durchführen bestimmter Vorgänge in der Anwendung
  4. Jump Install andere Middleware von Drittanbietern über den Middleware-Stack. Einfach ausgedrückt: Wenn eine HTTP-Anfrage den Server erreicht, werden alle Middleware-Funktionen in der Anwendung der Reihe nach ausgeführt. Jede Middleware-Funktion kann Anforderungs- und Antwortobjekte verarbeiten und die Anforderung optional an die nächste Middleware weiterleiten.
  5. Werfen wir einen Blick auf das grundlegende Verwendungsformat von Middleware:
  6. app.use(function (req, res, next) {
        console.log('This is a middleware function');
        next();
    });
Im obigen Beispiel haben wir eine Middleware-Funktion definiert. Wenn diese Funktion von der Anwendung aufgerufen wird, gibt sie eine Protokollmeldung aus und ruft dann die Methode next() auf. Die Methode next() übergibt die Steuerung an die nächste Middleware-Funktion (falls vorhanden).

Wenn die next()-Methode nicht aufgerufen wird, wird die Anfrage angehalten und nicht fortgesetzt. In diesem Fall sendet die Anwendung keine Antwort. Dies ist normalerweise eine Fehlerbedingung. Achten Sie daher beim Schreiben von Middleware-Funktionen darauf, die Methode next() aufzurufen.

Klassifizierung der Node.js-Middleware

In Node.js kann Middleware in die folgenden zwei Typen unterteilt werden:

Middleware auf Anwendungsebene

Middleware auf Routenebene

Middleware auf Anwendungsebene
  1. Middleware auf Anwendungsebene bezieht sich auf Middleware das alle Anfragen der aktuellen Anwendung verarbeiten kann. Diese Middleware wird über die Methode app.use() hinzugefügt. Protokollieren Sie beispielsweise alle Anfragen, implementieren Sie die Authentifizierung und mehr.
  2. let express = require('express');
    let app = express();
    
    app.use(function (req, res, next) {
       console.log('Time:', Date.now());
       next();
    });
  3. Middleware auf Routenebene
Middleware auf Routenebene ist, wie der Name schon sagt, Middleware, die nur aktuelle Routing-Anfragen verarbeiten kann. Diese Middleware wird über die use()-Methode des Router-Objekts hinzugefügt. Zum Beispiel: Anforderungsüberprüfung implementieren, Caching implementieren usw.

let express = require('express');
let router = express.Router();

router.use(function (req, res, next) {
   console.log('Request URL:', req.originalUrl);
   next();
});

Verwendung von Middleware von Drittanbietern

In Node.js ist die Verwendung von Middleware von Drittanbietern im Allgemeinen eine sehr gängige Praxis. Dieser Ansatz ermöglicht es uns, unserer Anwendung vorhandene Funktionalität hinzuzufügen, ohne Zeit und Mühe in das Schreiben unseres eigenen Codes investieren zu müssen. Im Folgenden erfahren Sie, wie Sie eine sehr bekannte Middleware eines Drittanbieters, die Body-Parser-Middleware, verwenden.

let express = require('express');
let bodyParser = require('body-parser');

let app = express();

// 处理 application/x-www-form-urlencoded 类型的请求体
app.use(bodyParser.urlencoded({ extended: false }));

// 处理 application/json 类型的请求体
app.use(bodyParser.json());

Zusammenfassung

In diesem Artikel haben wir die Definition, Funktionen und Klassifizierung der Node.js-Middleware kennengelernt. Middleware ist ein sehr wichtiges Konzept in Node.js. Durch Middleware können wir der Anwendung mehr Funktionen und Flexibilität hinzufügen. Unabhängig davon, ob es sich um Middleware auf Anwendungsebene oder Middleware auf Routenebene handelt, können Sie durch die korrekte Verwendung der Middleware-Funktionen Ihre Anwendungslogik effizienter implementieren.

Das obige ist der detaillierte Inhalt vonNodeJS-Middleware-Implementierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn