Routing och middleware är två viktiga koncept i Node.js och Express ramverket för att bygga webbapplikationer.
Routing:
- Routing är processen att bestämma hur förfrågningar från klienten ska hanteras och svara 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.
Middleware:
- 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 tillämpas på hela applikationen eller specificeras för specifika rutter.
- Var och en middleware tar emot parametrarna req(request) och res(response) och kan utföra bearbetning, skicka begäran till nästa middleware eller avsluta behandlingen genom att skicka ett svar till klienten.
Exempel på kombination 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 för att logga varje ny begäran som kommer till servern. Detta tillämpas på hela applikationen med metoden. Sedan har vi definierat två rutter, en för huvudsidan( ) och en annan för sidan om( ). Slutligen startar vi servern och lyssnar på port 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Den kommer att exekveras för varje begäran, loggar ett meddelande till konsolen innan begäran skickas till motsvarande rutthanterare eller i sekvensen. middleware loggerMiddleware
middleware
Denna kombination av routing och middleware gör att vi kan hantera olika förfrågningar och utföra vanliga uppgifter effektivt i en Express applikation.