Middleware ist eine der wichtigsten Komponenten bei der Entwicklung von Anwendungen auf Node.js. Es ist eine Software, die Zwischenoperationen zwischen einer Anfrage und einer Serverantwort durchführt und die Daten verarbeitet und modifiziert.
Die Arbeit von middleware basiert auf dem Konzept der Aufgabenkette (chain of responsibility), bei dem jede Zwischenfunktion ihre Aufgabe erfüllt und die Steuerung an die nächste Funktion weitergibt. Auf diese Weise können Sie die Abfrageverarbeitungslogik in einzelne Module aufteilen und die Skalierung und Unterstützung von Anwendungen vereinfachen.
In Node.js middleware kann für verschiedene Zwecke wie Autorisierung, Datenvalidierung, Logging usw. verwendet werden. Es kann sowohl von Bibliotheken von Drittanbietern implementiert als auch selbst erstellt werden. Der Hauptvorteil der Verwendung von Middleware ist die Möglichkeit, Code und seine Modularität wiederzuverwenden.
In diesem Artikel betrachten wir die Funktionsweise von Middleware in Node.js und geben Beispiele für seine Verwendung. Wir zeigen Ihnen, wie Sie eine Middleware-Funktion erstellen, wie Sie sie in einer Express-Anwendung verwenden und wie Sie Daten zwischen verschiedenen Zwischenfunktionen übertragen können. Wir werden uns auch einige gängige Middleware-Module ansehen und wie sie konfiguriert werden können.
Die Verwendung von middleware ist ein wesentlicher Bestandteil der Entwicklung von Anwendungen auf Node.js und ermöglicht es Ihnen, flexible und skalierbare Systeme zu erstellen. Wenn Sie die Funktionsweise von middleware verstehen, können Sie sie effektiv in Ihren Projekten verwenden und zuverlässige und sichere Anwendungen erstellen.
Was ist middleware in Node?js
Middleware kann verwendet werden, um verschiedene Aufgaben auszuführen, z. B.:
| 1. | Benutzerauthentifizierung und -autorisierung |
| 2. | Abfragen und Antworten protokollieren |
| 3. | Behandeln von Fehlern und Ausnahmen |
| 4. | Ändern von Anfragen und Antworten |
Middleware Funktionen in Node.js akzeptiert drei Argumente:
- Anforderungsobjekt (req) - enthält Anforderungsinformationen vom Kunden;
- Antwortobjekt (res) - Wird verwendet, um eine Antwort an den Client zu senden;
- Die next-Funktion wird aufgerufen, um die Steuerung an den nächsten Middleware- oder Endabfrageprozessor zu übergeben.
Jede Middleware-Funktion kann req- und res-Objekte ändern, neue Eigenschaften hinzufügen, Daten verarbeiten, die Steuerung an die nächste middleware übergeben usw. Es ist wichtig zu verstehen, dass middleware konsistent in der Reihenfolge ihrer Deklarationen ausgeführt wird.
Middleware in Node.js bietet Flexibilität und Erweiterbarkeit beim Erstellen von Webanwendungen. Sie ermöglichen es Ihnen, die Anwendungslogik in kleine und unabhängige Blöcke aufzuteilen, von denen jeder für bestimmte Funktionen oder die Verarbeitung eines bestimmten Abfragetyps verantwortlich ist.
Verwenden von middleware in Node.js
Middleware in Node.js ist eine Softwareschicht, die sich zwischen einem Client und einem Server befindet. Dies ermöglicht es Entwicklern, Anforderungen, Zwischenvorgänge und Aufgaben zu verarbeiten, bevor Daten vom Client zum Server übertragen werden.
Einer der Hauptvorteile der Verwendung von Middleware ist die Möglichkeit, Funktionen für eine Anwendung zu ändern oder hinzuzufügen, ohne den Hauptcode ändern zu müssen. Dies macht die Entwicklung bequemer und flexibler.
Middleware kann verschiedene Operationen und Aufgaben ausführen, z. B.:
- Benutzerauthentifizierung und -autorisierung;
- Behandeln von Fehlern und Ausnahmen;
- Validierung und Validierung von Daten;
- Logging;
- Caching;
- Und vieles mehr.
Um middleware in Node zu verwenden.js Es gibt viele beliebte Bibliotheken wie Express.js, Koa.js und Connect.js. Sie bieten verschiedene Funktionen und Funktionen für die Verwaltung der Zwischenschicht.
Ein Beispiel für die Verwendung von middleware in Node.js könnte wie folgt aussehen:
const express = require('express');const app = express();// Промежуточная функцияconst logMiddleware = (req, res, next) => ;// Использование промежуточной функции в приложенииapp.use(logMiddleware);app.get('/', (req, res) => );app.listen(3000, () => );
Verwenden von middleware in Node.js erleichtert die Entwicklung und Verwaltung der Anwendung, indem es Entwicklern ermöglicht, die Funktionalität der Anwendung auf einfache und flexible Weise hinzuzufügen und zu ändern. Dies macht middleware zu einem wichtigen Werkzeug für die Erstellung robuster und skalierbarer Anwendungen auf Node.js.
Die Grundprinzipien der Arbeit von middleware in Node.js
Die wichtigsten Prinzipien der Arbeit von middleware in Node.js:
Abfrage- und Antwortverarbeitungs-Kette:
Middleware-Funktionen bilden eine Anforderungs- und Antwortverarbeitungskette, in der jede Funktion ihre eigenen Aktionen ausführen und die Steuerung an die nächste Funktion in der Kette übergeben kann. Auf diese Weise können Sie flexible Abfrageprozesse erstellen und komplexe Logik implementieren.
Abfrage- und Antwortobjekte:
In Node.js middleware hat Zugriff auf Anfrage- und Antwortobjekte. Auf diese Weise können Sie die Anforderungsdaten verarbeiten, ändern und eine Antwort für den Kunden erstellen. Middleware kann den Abfrage- und Antwortobjekten zusätzliche Eigenschaften und Methoden hinzufügen, um sie in den folgenden Handlern zu verwenden.
Aufruf der folgenden Middleware-Funktion:
Jede Middleware-Funktion akzeptiert drei Argumente: ein Anforderungsobjekt (req), ein Antwortobjekt (res) und eine next() -Funktion. Der Aufruf der Funktion next() übergibt die Steuerung an die nächste Funktion in der Verarbeitungskette. Ohne den Aufruf von next() wird die Verarbeitung der Anforderung abgeschlossen, und der Client erhält keine Antwort.
Fehler bei der Verarbeitung:
Wenn middleware einen Fehler findet, kann es die Funktion next() mit einem Argument aufrufen (z. B. new Error('. ')), um zum nächsten Handler direkt im Fehlerbehandlungsblock zu gelangen. Auf diese Weise können Sie Fehler einfach und flexibel verwalten und bestimmen, welche Maßnahmen im Falle eines Fehlers ergriffen werden sollen.
Die korrekte Verwendung dieser Prinzipien ermöglicht es Ihnen, viele nützliche und flexible Middleware-Funktionen in einer Node-Anwendung zu erstellen.js bietet eine effiziente Abfrageverarbeitung und eine komfortable Datenflussverwaltung.
Beispiele für die Verwendung von middleware in Node.js
| Ein Beispiel | Die Beschreibung |
|---|---|
| Logger middleware | Der Middleware-Logger wird verwendet, um Informationen über jede Anforderung in der Anwendung aufzuzeichnen. Dies kann zum Debuggen und Nachverfolgen von Aktivitäten in einer Anwendung nützlich sein. |
| Authentication middleware | Authentication middleware wird verwendet, um den Benutzer zu authentifizieren und Zugriff auf bestimmte Ressourcen oder Routen zu gewähren. Es kann Authentifizierungstoken oder Sitzungsdateien überprüfen. |
| Error handling middleware | Error handling middleware wird verwendet, um Fehler zu behandeln, die während der Abfrageverarbeitung auftreten. Dies kann nützlich sein, um dem Benutzer Fehlerinformationen zu senden oder Fehler zur weiteren Analyse zu protokollieren. |
| Validation middleware | Validation middleware wird zum Validieren und Validieren von Daten in einer Abfrage verwendet. Es kann die Werte von Formularfeldern oder anderen Daten überprüfen, um sicherzustellen, dass sie die angegebenen Anforderungen erfüllen. |
Dies sind nur einige Beispiele für die Verwendung von middleware in Node.js. Middleware ist ein flexibles und leistungsfähiges Tool, mit dem Entwickler die Funktionalität ihrer Anwendungen einfach erweitern und Daten in verschiedenen Phasen der Abfrageverarbeitung verarbeiten können.
Wie erstelle ich meine eigene middleware in Node.js
Sie benötigen nur ein paar Schritte, um Ihre eigene Middleware zu erstellen:
1. Erstellen Sie eine Middleware-Funktion
Middleware in Node.js ist eine Funktion, die drei Argumente akzeptiert: request, response und next. Die middleware-Funktion führt bestimmte Aktionen aus und ruft die next() -Methode auf, um die Steuerung an den nächsten Middleware- oder Routenhandler zu übergeben.
2. Fügen Sie Middleware zur Abfragekette hinzu
Um Ihre Middleware in die Anforderungsverarbeitungskette aufzunehmen, müssen Sie die app-Methode verwenden.use(). Diese Methode akzeptiert middleware als Argument und fügt sie der Kette hinzu.
3. Überprüfen Sie, ob Ihre Middleware funktioniert
Um den Betrieb Ihrer Middleware zu überprüfen, können Sie eine einfache Konsole hinzufügen.log() darin und senden Sie eine Anfrage an Ihre Anwendung. Wenn eine entsprechende Meldung in der Konsolenleiste angezeigt wird, funktioniert Ihre Middleware erfolgreich.
// Создание middlewareconst myMiddleware = (req, res, next) =>// Добавление middleware в цепочку обработки запросовapp.use(myMiddleware);// Работа вашего приложенияapp.get('/', (req, res) => )// Запуск сервераapp.listen(3000, () => )
Jetzt, da Sie wissen, wie Sie Ihre eigene Middleware erstellen, können Sie Ihrem Node zusätzliche Funktionalität hinzufügen.js-Anwendung und passen Sie ihr Verhalten nach Ihrem Ermessen an.
Beliebte Middleware in Node.js
Node.js hat viele beliebte Middleware, die die Entwicklung von Webanwendungen verbessern und vereinfachen. Hier sind einige von ihnen:
Express.js - das beliebteste Framework in Node.js, das leistungsstarke Funktionen zum Erstellen von Webanwendungen bietet. Es hat auch integrierte Middleware wie Router, Fehlerbehandlung, Abfrageparser und vieles mehr.
Morgan - Middleware zum Aufzeichnen des HTTP-Anforderungsprotokolls. Es kann zum Debuggen und Überwachen von Webanwendungen sowie zur Leistungsanalyse nützlich sein.
Body-parser - middleware zum Analysieren des eingehenden Anforderungstexts. Es erleichtert das Abrufen von Daten aus POST-Anfragen, indem Daten aus dem Stream gelesen und in das gewünschte Format gebracht werden.
Cors - middleware, die domänenübergreifende Abfragen bereitstellt und den Zugriff auf Ressourcen in einer anderen Domäne ermöglicht. Es kann nützlich sein, um Webanwendungen zu entwickeln, die mit anderen APIs interagieren oder Ressourcen zwischen verschiedenen Domänen aufteilen.
Passport - middleware zur Authentifizierung und Autorisierung von Benutzern. Es bietet Authentifizierungsstrategien wie die Authentifizierung über soziale Netzwerke oder die lokale Authentifizierung mit einem Benutzernamen und einem Passwort.
Helmet - middleware, das die Webanwendung vor verschiedenen Angriffen schützt, einschließlich XSS-Angriffen, Cross-Site-Scripting (CSRF) und fügt den Serverantworten zusätzliche Sicherheitsheader hinzu.
Dies sind nur einige der beliebtesten middleware in Node.js. Es gibt viele andere Module, mit denen Sie die Funktionalität Ihrer Webanwendung verbessern können.