Routing och middleware är två viktiga begrepp i Node.js och Express-ramverket för att bygga webbapplikationer.
Routing:
- Routing är processen för att bestämma hur man hanterar förfrågningar från klienten och svarar med motsvarande resurser på servern.
- I Express kan vi definiera rutter genom att ange HTTP-metoden (GET, POST, PUT, DELETE, etc.) och motsvarande URL-sökväg.
- Varje rutt kan ha en eller flera hanterarfunktioner för att utföra uppgifter som bearbetning av begäran, databasåtkomst och att skicka svar till klienten.
Mellanvara:
- Middleware är funktioner som exekveras i en sekvens innan begäran når den slutliga rutthanteraren.
- De används för att utföra vanliga funktioner och hantera mellanliggande uppgifter som autentisering, loggning, felhantering etc.
- Middleware kan appliceras på hela applikationen eller specificeras för specifika rutter.
- Varje mellanprogram tar emot parametrarna för begäran (request) och res (svar) och kan utföra bearbetning, skicka begäran till nästa mellanprogram eller avsluta behandlingen genom att skicka ett svar till klienten.
Exempel på att kombinera routing och Middleware i 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...');
});
I det här exemplet har vi definierat en anpassad mellanprogramvara loggerMiddlewareför att logga varje ny begäran som kommer till servern. Denna middleware appliceras på hela applikationen med app.use()metoden. Sedan har vi definierat två rutter, en för huvudsidan ( '/') och en annan för sidan om ( '/about'). Slutligen startar vi servern och lyssnar på port 3000.
Mellanvaran loggerMiddlewarekommer att exekveras för varje begäran och loggar ett meddelande till konsolen innan begäran skickas till motsvarande rutthanterare eller mellanprogram i sekvensen.
Denna kombination av routing och middleware tillåter oss att hantera olika förfrågningar och utföra vanliga uppgifter effektivt i en Express-applikation.