Ruting og mellomvare er to viktige konsepter i Node.js og Express-rammeverket for å bygge webapplikasjoner.
Ruting:
- Ruting er prosessen med å bestemme hvordan man skal håndtere forespørsler fra klienten og svare med tilsvarende ressurser på serveren.
- I Express kan vi definere ruter ved å spesifisere HTTP-metoden (GET, POST, PUT, DELETE, etc.) og den tilsvarende URL-banen.
- Hver rute kan ha en eller flere behandlerfunksjoner for å utføre oppgaver som forespørselsbehandling, databasetilgang og sending av svar til klienten.
Mellomvare:
- Mellomvare er funksjoner som utføres i en sekvens før forespørselen når den endelige rutebehandleren.
- De brukes til å utføre vanlige funksjoner og håndtere mellomliggende oppgaver som autentisering, logging, feilhåndtering, etc.
- Mellomvare kan brukes på hele applikasjonen eller spesifiseres for spesifikke ruter.
- Hver mellomvare mottar req (forespørsel) og res (respons) parametere og kan utføre behandling, sende forespørselen til neste mellomvare, eller avslutte behandlingen ved å sende et svar til klienten.
Eksempel som kombinerer ruting og mellomvare 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 eksemplet har vi definert en tilpasset mellomvare loggerMiddlewarefor å logge hver ny forespørsel som kommer til serveren. Denne mellomvaren brukes på hele applikasjonen ved hjelp av app.use()metoden. Deretter har vi definert to ruter, en for hovedsiden ( '/') og en annen for siden om ( '/about'). Til slutt starter vi serveren og lytter på port 3000.
Mellomvaren loggerMiddlewarevil bli utført for hver forespørsel, og logger en melding til konsollen før forespørselen sendes til den tilsvarende rutebehandleren eller mellomvaren i sekvensen.
Denne kombinasjonen av ruting og mellomvare lar oss håndtere forskjellige forespørsler og utføre vanlige oppgaver effektivt i en Express-applikasjon.