Middleware in Express.js: Intermediate Reque tvarkymas

Įvadas į Middleware in Express.js

Middleware in Express.js yra galinga koncepcija, leidžianti vykdyti funkcijas tam tikra tvarka per užklausos ir atsakymo gyvavimo ciklą. Šios funkcijos gali atlikti įvairias užduotis, tokias kaip autentifikavimas, registravimas, duomenų patvirtinimas ir kt. Middleware funkcijos vykdomos nuosekliai ir kiekviena middleware turi prieigą prie request ir response objektų, taip pat next funkcijos, kuri perduoda valdymą kitam middleware kamino elementui.

Kodėl Naudoti Middleware ?

Middleware yra būtinas norint moduliuoti programos funkcionalumą ir pagerinti jos priežiūrą. Tai leidžia užtikrinti, kad maršruto tvarkytojai būtų švarūs ir susitelkę į konkrečias užduotis, kartu perkeldami bendras ar kompleksines problemas į middleware funkcijas. Šis problemų atskyrimas skatina kodo pakartotinį naudojimą ir daro kodų bazę labiau organizuotą.

Kūrimas ir naudojimas Middleware

Norėdami sukurti middleware, Express.js apibrėžiate funkciją, kuri turi tris parametrus: request, response, ir next.

Štai pagrindinis pavyzdys, middleware kaip registruoja kiekvieną gaunamą užklausą:

const logMiddleware =(req, res, next) => {  
  console.log(`Received a ${req.method} request at ${req.url}`);  
  next(); // Pass control to the next middleware  
};  
  
app.use(logMiddleware);  

Metodą galite naudoti app.use() norėdami taikyti middleware visuotinai visiems maršrutams arba pasirinktinai konkretiems maršrutams.

Middleware Vykdymo tvarka

Middleware funkcijos vykdomos tokia tvarka, kokia jos apibrėžtos naudojant app.use().

Pavyzdžiui:

app.use(middleware1);  
app.use(middleware2);  

Tokiu atveju middleware1 bus įvykdyta anksčiau middleware2 už visas gaunamas užklausas.

Apdorojimo klaidos Middleware

Jei funkcijoje įvyksta klaida middleware, galite perduoti klaidą funkcijai next ir Express.js automatiškai pereiti prie klaidų tvarkymo middleware.

Štai pavyzdys:

const errorMiddleware =(err, req, res, next) => {  
  console.error(err);  
  res.status(500).send('Something went wrong!');  
};  
  
app.use(errorMiddleware);  

Naudojimas Middleware autentifikavimui

Middleware dažniausiai naudojamas autentifikavimui ir autorizavimui žiniatinklio programose įdiegti. Pavyzdžiui, galite sukurti middleware funkciją, kuri patikrina, ar vartotojas yra autentifikuotas prieš leisdamas pasiekti tam tikrus maršrutus:

const authenticateMiddleware =(req, res, next) => {  
  if(req.isAuthenticated()) {  
    return next(); // User is authenticated, proceed to the next middleware  
  }  
  res.redirect('/login'); // User is not authenticated, redirect to login page  
};  
  
app.get('/profile', authenticateMiddleware,(req, res) => {  
  res.send('Welcome to your profile!');  
});  

 

Išvada

Middleware in Express.js yra gyvybiškai svarbi žiniatinklio programų valdymo ir funkcionalumo tobulinimo priemonė. Kurdami daugkartinio naudojimo middleware funkcijas, galite supaprastinti savo kodą, moduliuoti problemas ir pagerinti bendrą projektų priežiūrą. Nuo autentifikavimo tvarkymo iki registravimo ir klaidų valdymo – middleware suteikia galimybę efektyviai kurti patikimas ir saugias žiniatinklio programas.