Routing und middleware sind zwei wichtige Konzepte in Node.js und dem Express Framework zum Erstellen von Webanwendungen.
Routing:
- Routing ist der Prozess, bei dem bestimmt wird, 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 in einer Reihenfolge ausgeführt werden, bevor die Anforderung 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 festgelegt werden.
- Jeder middleware erhält die Parameter req(Anfrage) und res(Antwort) und kann die Verarbeitung durchführen, die Anforderung an den nächsten weitergeben middleware oder die Verarbeitung beenden, indem er 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 Funktion definiert, um jede neue Anfrage zu protokollieren, die an den Server geht. Dies wird mit der Methode auf die gesamte Anwendung angewendet. Dann haben wir zwei Routen definiert, eine für die Hauptseite( ) und eine andere für die About-Seite( ). Zum Schluss starten wir den Server und lauschen auf Port 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Das wird für jede Anfrage ausgeführt und protokolliert eine Nachricht an der Konsole, bevor die Anfrage an den entsprechenden Routenhandler oder in der Folge weitergeleitet wird. middleware loggerMiddleware
middleware
Diese Kombination von routing und middleware ermöglicht es uns, unterschiedliche Anforderungen zu bearbeiten und gemeinsame Aufgaben in einer Express Anwendung effizient auszuführen.