Routing og middleware er to vigtige koncepter i Node.js og Express rammerne for opbygning af webapplikationer.
Routing:
- Routing er processen med at bestemme, hvordan man skal håndtere anmodninger fra klienten og svare med tilsvarende ressourcer på serveren.
- I Express kan vi definere ruter ved at angive HTTP-metoden(GET, POST, PUT, DELETE osv.) og den tilsvarende URL-sti.
- Hver rute kan have en eller flere håndteringsfunktioner til at udføre opgaver såsom anmodningsbehandling, databaseadgang og afsendelse af svar til klienten.
Middleware:
- Middleware er funktioner, der udføres i en sekvens, før anmodningen når den endelige rutebehandler.
- De bruges til at udføre almindelige funktioner og håndtere mellemliggende opgaver såsom autentificering, logning, fejlhåndtering mv.
- Middleware kan anvendes på hele applikationen eller specificeres for specifikke ruter.
- Hver middleware modtager parametrene req(request) og res(response) og kan udføre behandling, videregive anmodningen til den næste middleware eller afslutte behandlingen ved at sende et svar til klienten.
Eksempel på kombination Routing og 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 dette eksempel har vi defineret en brugerdefineret til at logge hver ny anmodning, der kommer til serveren. Dette påføres hele applikationen ved hjælp af metoden. Derefter har vi defineret to ruter, en til hovedsiden( ) og en anden til siden om( ). Til sidst starter vi serveren og lytter på port 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Den udføres for hver anmodning, idet der logges en besked til konsollen, før anmodningen sendes til den tilsvarende rutehandler eller i rækkefølgen. middleware loggerMiddleware
middleware
Denne kombination af routing og middleware giver os mulighed for at håndtere forskellige forespørgsler og udføre almindelige opgaver effektivt i en Express applikation.