Guide til Routing og Middleware i Express

Routing og middleware er to vigtige begreber i Node.js og Express-rammen til opbygning af webapplikationer.

Rute:

  • 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.

Mellemvare:

  • Middleware er funktioner, der udføres i en sekvens, før anmodningen når den endelige rutehandler.
  • 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 til specifikke ruter.
  • Hver middleware modtager req (request) og res (response) parametrene 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 af 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 middleware loggerMiddlewaretil at logge hver ny anmodning, der kommer til serveren. Denne middleware anvendes på hele applikationen ved hjælp af app.use()metoden. Derefter har vi defineret to ruter, en til hovedsiden ( '/') og en anden til siden om ( '/about'). Til sidst starter vi serveren og lytter på port 3000.

Middlewaren loggerMiddlewareudføres for hver anmodning, idet der logges en besked til konsollen, før anmodningen sendes til den tilsvarende rutehandler eller middleware i sekvensen.

Denne kombination af routing og middleware giver os mulighed for at håndtere forskellige anmodninger og udføre almindelige opgaver effektivt i en Express-applikation.