Middleware in Express.js: Handling Intermediate Reque

Bevezetés az Middleware in Express.js

Middleware Az in Express.js egy hatékony koncepció, amely lehetővé teszi a funkciók meghatározott sorrendben történő végrehajtását a kérés-válasz életciklusa során. Ezek a funkciók különféle feladatokat hajthatnak végre, például hitelesítést, naplózást, adatellenőrzést stb. Middleware A függvények szekvenciálisan hajtódnak végre, és mindegyik middleware hozzáfér a request és response objektumokhoz, valamint ahhoz a függvényhez, amely átadja a vezérlést a veremben lévő next következőnek. middleware

Miért használja Middleware ?

Middleware elengedhetetlen az alkalmazás funkcionalitásának modularizálásához és karbantarthatóságának javításához. Lehetővé teszi, hogy az útvonalkezelőket tisztán tartsa, és az adott feladatokra összpontosítson, miközben a közös vagy átfogó problémákat a funkciókra terheli middleware. Az aggályok szétválasztása elősegíti a kód újrafelhasználhatóságát, és szervezettebbé teszi a kódbázist.

Létrehozása és használata Middleware

middleware A létrehozásához Express.js definiáljon egy függvényt, amely három paramétert vesz fel: request, response, és next.

Íme egy alapvető példa, middleware amely minden bejövő kérést naplóz:

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);  

app.use() A módszert használhatja globálisan middleware az összes útvonalra, vagy használhatja szelektíven meghatározott útvonalakra.

Middleware Végrehajtási rend

Middleware A függvények a segítségével meghatározott sorrendben hajtódnak végre app.use().

Például:

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

Ebben az esetben az összes bejövő kérés middleware1 előtt végrehajtásra kerül. middleware2

A hibák kezelése Middleware

Ha hiba történik egy middleware függvényen belül, átadhatja a hibát a függvénynek next, és Express.js automatikusan átugrik a hibakezelésre middleware.

Íme egy példa:

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

Használata Middleware hitelesítéshez

Middleware általánosan használt hitelesítés és engedélyezés megvalósítására webes alkalmazásokban. Létrehozhat például egy middleware funkciót, amely ellenőrzi, hogy a felhasználó hitelesítve van-e, mielőtt engedélyezi a hozzáférést bizonyos útvonalakhoz:

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!');  
});  

 

Következtetés

Middleware in Express.js létfontosságú eszköz a webalkalmazások kezeléséhez és funkcionalitásának javításához. Az újrafelhasználható funkciók létrehozásával middleware egyszerűsítheti a kódot, modularizálhatja a problémákat, és javíthatja projektjei általános karbantarthatóságát. A hitelesítés kezelésétől a naplózásig és hibakezelésig middleware lehetővé teszi, hogy hatékonyan építsen robusztus és biztonságos webalkalmazásokat.