Leitfaden zu Routing und Middleware in Express

Routing und Middleware sind zwei wichtige Konzepte in Node.js und dem Express-Framework zum Erstellen von Webanwendungen.

Routenplanung:

  • Beim Routing wird bestimmt, wie Anfragen vom Client verarbeitet und mit entsprechenden Ressourcen auf dem Server geantwortet werden.
  • In Express können wir Routen definieren, indem wir die HTTP-Methode (GET, POST, PUT, DELETE usw.) und den entsprechenden URL-Pfad angeben.
  • Jede Route kann über eine oder mehrere Handlerfunktionen verfügen, um Aufgaben wie Anforderungsverarbeitung, Datenbankzugriff und Senden von Antworten an den Client auszuführen.

Middleware:

  • Middleware sind Funktionen, die nacheinander ausgeführt werden, bevor die Anfrage den endgültigen Routenhandler erreicht.
  • Sie werden verwendet, um allgemeine Funktionalitäten auszuführen und Zwischenaufgaben wie Authentifizierung, Protokollierung, Fehlerbehandlung usw. abzuwickeln.
  • Middleware kann auf die gesamte Anwendung angewendet oder für bestimmte Routen spezifiziert werden.
  • Jede Middleware empfängt die Parameter req (Anfrage) und res (Antwort) und kann die Verarbeitung durchführen, die Anforderung an die nächste Middleware weiterleiten oder die Verarbeitung beenden, indem sie eine Antwort an den Client sendet.

Beispiel für die Kombination von Routing und Middleware in Express:

const express = require('express');
const app = express();

// Middleware
const loggerMiddleware = (req, res, next) => {
  console.log('A new request has arrived!');
  next();
};

// Apply middleware to the entire application
app.use(loggerMiddleware);

// Main route
app.get('/', (req, res) => {
  res.send('Welcome to the homepage!');
});

// Another route
app.get('/about', (req, res) => {
  res.send('This is the about page!');
});

// Start the server
app.listen(3000, () => {
  console.log('Server is listening on port 3000...');
});

In diesem Beispiel haben wir eine benutzerdefinierte Middleware definiert, loggerMiddlewareum jede neue Anfrage zu protokollieren, die an den Server geht. Diese Middleware wird mit der Methode auf die gesamte Anwendung angewendet app.use(). Dann haben wir zwei Routen definiert, eine für die Hauptseite ( '/') und eine andere für die About-Seite ( '/about'). Zum Schluss starten wir den Server und lauschen auf Port 3000.

Die Middleware loggerMiddlewarewird für jede Anfrage ausgeführt und protokolliert eine Nachricht an der Konsole, bevor sie die Anfrage an den entsprechenden Routenhandler oder die entsprechende Middleware in der Sequenz weiterleitet.

Diese Kombination aus Routing und Middleware ermöglicht es uns, unterschiedliche Anforderungen zu bearbeiten und häufige Aufgaben in einer Express-Anwendung effizient auszuführen.