Směrování a middleware jsou dva důležité koncepty v Node.js a frameworku Express pro vytváření webových aplikací.
Směrování:
- Směrování je proces určování, jak zpracovat požadavky od klienta a odpovědět odpovídajícími prostředky na serveru.
- V Express můžeme definovat cesty zadáním metody HTTP (GET, POST, PUT, DELETE atd.) a odpovídající URL cesty.
- Každá trasa může mít jednu nebo více funkcí obsluhy pro provádění úloh, jako je zpracování požadavků, přístup k databázi a odesílání odpovědí klientovi.
Middleware:
- Middleware jsou funkce, které se provádějí v sekvenci předtím, než požadavek dosáhne konečného obslužného programu trasy.
- Používají se k provádění běžných funkcí a zpracování přechodných úkolů, jako je ověřování, protokolování, zpracování chyb atd.
- Middleware lze aplikovat na celou aplikaci nebo specifikovat pro konkrétní cesty.
- Každý middleware obdrží parametry req (request) a res (response) a může provést zpracování, předat požadavek dalšímu middlewaru nebo ukončit zpracování odesláním odpovědi klientovi.
Příklad kombinace směrování a middlewaru v 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...');
});
V tomto příkladu jsme definovali vlastní middleware loggerMiddlewarepro protokolování každého nového požadavku přicházejícího na server. Tento middleware se pomocí metody aplikuje na celou aplikaci app.use(). Poté jsme definovali dvě cesty, jednu pro hlavní stránku ( '/') a druhou pro stránku o aplikaci ( '/about'). Nakonec spustíme server a posloucháme na portu 3000.
Middleware loggerMiddlewarebude spuštěn pro každý požadavek a zaznamená zprávu do konzole před předáním požadavku příslušnému obslužnému programu trasy nebo middlewaru v pořadí.
Tato kombinace směrování a middlewaru nám umožňuje zpracovávat různé požadavky a efektivně provádět běžné úkoly v aplikaci Express.