Middleware in Express.js verstehen: Der einfache Weg
Middleware in Express.js klingt vielleicht etwas technisch, aber wenn man erst einmal den Dreh raus hat, ist es ziemlich einfach. Es ist wie ein Boxenstopp in einem Rennen – Anfragen gehen ein, und bevor sie die Ziellinie (Ihren Routenbearbeiter) erreichen, machen sie einige Stopps an verschiedenen Punkten, um geändert, überprüft oder einfach nur protokolliert zu werden.
In diesem Artikel erläutern wir, was Middleware ist, wie man sie verwendet, und zeigen Ihnen einige Beispiele aus der Praxis. Machen wir es so einfach und praktisch wie möglich!
Was genau ist Middleware?
Stellen Sie sich vor, dass jede Anfrage an Ihren Server ein Auto auf einer Autofahrt ist. Middleware ist wie eine Reihe von Kontrollpunkten, die jedes Auto passieren muss, bevor es sein Ziel erreicht. An jedem Kontrollpunkt (Middleware) passiert etwas: Vielleicht wird das Auto gewaschen, vielleicht holt es ein paar Snacks ab, oder vielleicht wird ihm gesagt, dass es umdrehen und nach Hause fahren soll!
In Bezug auf die Codierung ist Middleware lediglich eine Funktion, die zwischen der Anfrage und der Antwort liegt. Es kann:
- Führen Sie etwas Code aus.
- Ändern Sie die Anfrage oder Antwort.
- Verhindern Sie, dass die Anfrage weitergeht.
- Geben Sie es an die nächste Middleware weiter.
Hier ist ein super einfaches Beispiel:
app.use((req, res, next) => { console.log('A request came in!'); next(); // Pass the baton to the next middleware });
Jedes Mal, wenn eine Anfrage Ihren Server erreicht, protokolliert er eine Nachricht und übergibt dann die Kontrolle an die nächste Middleware oder den nächsten Routenhandler.
Integrierte Middleware: Die sofort einsatzbereiten Tools von Express
Express verfügt über einige integrierte Middleware-Funktionen, die das Leben einfacher machen. Hier sind ein paar, die Sie wahrscheinlich ständig verwenden werden:
1- express.json(): Dieser hilft Ihnen beim Umgang mit eingehenden JSON-Daten.
app.use(express.json());
2- express.static(): Möchten Sie statische Dateien wie Bilder oder CSS bereitstellen? Diese Middleware ist genau das Richtige für Sie.
app.use(express.static('public'));
3- express.urlencoded(): Es hilft, über HTML-Formulare gesendete Daten zu analysieren.
app.use(express.urlencoded({ extended: true }));
Benutzerdefinierte Middleware: Erstellen Sie Ihre eigene
Sie können auch Ihre eigene Middleware erstellen, um bestimmte Aufgaben wie die Protokollierung oder die Überprüfung, ob ein Benutzer angemeldet ist, zu erledigen.
Beispiel: Einfacher Logger
app.use((req, res, next) => { console.log(`Request Method: ${req.method}, URL: ${req.url}`); next(); });
Dadurch werden die HTTP-Methode und die URL jedes Mal protokolliert, wenn eine Anfrage Ihren Server erreicht. Es eignet sich hervorragend, um zu verfolgen, was mit Ihrer App passiert.
Beispiel: Authentifizierungsprüfung
const checkAuth = (req, res, next) => { if (!req.headers.authorization) { return res.status(403).send('You shall not pass! (Unauthorized)'); } next(); // Allow the request to continue if authorized }; app.use(checkAuth);
Wenn eine Anfrage hier keinen Autorisierungsheader hat, wird sie mit der Meldung „403 Forbidden“ blockiert. Andernfalls wird es weitergegeben.
Verwendung von Middleware von Drittanbietern
Sie haben keine Lust, alles selbst zu schreiben? Gute Nachrichten: Express funktioniert mit einer Vielzahl von Middleware von Drittanbietern, die Aufgaben für Sie erledigen können.
Beispiel: Morgan für Logging
Morgan ist eine beliebte Middleware zum Protokollieren von Anfragen. Um es zu verwenden:
1- Installieren Sie es:
npm install morgan
2- Fügen Sie es Ihrer App hinzu:
const morgan = require('morgan'); app.use(morgan('dev'));
Jetzt erhalten Sie jedes Mal, wenn eine Anfrage eingeht, ein schönes, formatiertes Protokoll in Ihrem Terminal.
Beispiel: cors für Cross-Origin-Anfragen
Cors-Middleware ermöglicht Ihrer App, Anfragen von anderen Domänen zu verarbeiten (sehr nützlich beim Erstellen von APIs).
1- Installieren Sie es:
npm install cors
2- Benutzen Sie es:
const cors = require('cors'); app.use(cors());
Das ist es! Jetzt kann Ihre App ursprungsübergreifende Anfragen verarbeiten, ohne ins Schwitzen zu geraten.
Middleware für bestimmte Routen
Sie müssen nicht immer Middleware auf jede Route in Ihrer App anwenden. Manchmal möchten Sie, dass es nur auf bestimmten Geräten läuft.
app.get('/dashboard', checkAuth, (req, res) => { res.send('Welcome to the Dashboard'); });
Hier wird die checkAuth-Middleware nur ausgeführt, wenn jemand versucht, auf die /dashboard-Route zuzugreifen. Wenn sie nicht autorisiert sind, kommen sie nicht rein!
Umgang mit Fehlern mit Middleware
Manchmal geht etwas schief. Hier bietet sich Middleware zur Fehlerbehandlung an. Es sieht etwas anders aus – es benötigt vier Argumente: err, req, res und next.
app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send('Something went wrong!'); });
Diese Middleware fängt Fehler ab und sendet eine freundliche „500 Internal Server Error“-Nachricht zurück.
Zusammenfassung
Middleware ist wie das Schweizer Taschenmesser von Express.js. Es hilft Ihnen, Anfragen zu verwalten, Fehler zu behandeln und coole Funktionen wie Protokollierung oder Authentifizierung hinzuzufügen. Unabhängig davon, ob Sie die integrierten Optionen verwenden, eigene Optionen schreiben oder Tools von Drittanbietern nutzen, sorgt Middleware dafür, dass Ihre App modular und verwaltbar bleibt.
Vielen Dank fürs Lesen und viel Spaß beim Programmieren! ?
Das obige ist der detaillierte Inhalt vonMiddleware in Express.js mit Node.js verstehen – Teil 9. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.