Usmjeravanje i međuprogramska oprema dva su važna koncepta u Node.js i Express okviru za izradu web aplikacija.
Usmjeravanje:
- Usmjeravanje je proces određivanja kako postupati sa zahtjevima klijenta i odgovoriti odgovarajućim resursima na poslužitelju.
- U Expressu možemo definirati rute navođenjem HTTP metode (GET, POST, PUT, DELETE, itd.) i odgovarajuće URL staze.
- Svaka ruta može imati jednu ili više funkcija rukovatelja za obavljanje zadataka kao što su obrada zahtjeva, pristup bazi podataka i slanje odgovora klijentu.
Middleware:
- Middleware su funkcije koje se izvršavaju u nizu prije nego što zahtjev stigne do konačnog rukovatelja rutom.
- Koriste se za izvođenje uobičajenih funkcija i rješavanje posrednih zadataka kao što su provjera autentičnosti, bilježenje, rukovanje pogreškama itd.
- Middleware se može primijeniti na cijelu aplikaciju ili odrediti za određene rute.
- Svaki međuprogram prima req (zahtjev) i res (odgovor) parametre i može izvršiti obradu, proslijediti zahtjev sljedećem međuprogramu ili završiti obradu slanjem odgovora klijentu.
Primjer kombiniranja usmjeravanja i međuprograma u Expressu:
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...');
});
U ovom smo primjeru definirali prilagođeni međuprogram loggerMiddlewareza zapisivanje svakog novog zahtjeva koji dolazi na poslužitelj. Ova se međuprogramska oprema primjenjuje na cijelu aplikaciju pomoću app.use()metode. Zatim smo definirali dvije rute, jednu za glavnu stranicu ( '/') i drugu za stranicu o stranici ( '/about'). Na kraju pokrećemo poslužitelj i slušamo na portu 3000.
Međuprogram loggerMiddlewareće se izvršiti za svaki zahtjev, bilježeći poruku na konzoli prije prosljeđivanja zahtjeva odgovarajućem rukovatelju rute ili međuprogramu u nizu.
Ova kombinacija usmjeravanja i međuprograma omogućuje nam da obrađujemo različite zahtjeve i učinkovito obavljamo uobičajene zadatke u Express aplikaciji.