Middleware in Express.js: შუალედური მოთხოვნის დამუშავება

შესავალი Middleware in Express.js

Middleware in Express.js არის ძლიერი კონცეფცია, რომელიც საშუალებას გაძლევთ შეასრულოთ ფუნქციები კონკრეტული თანმიმდევრობით მოთხოვნა-პასუხის სასიცოცხლო ციკლის განმავლობაში. ამ ფუნქციებს შეუძლიათ შეასრულონ სხვადასხვა ამოცანები, როგორიცაა ავთენტიფიკაცია, შესვლა, მონაცემთა ვალიდაცია და სხვა. Middleware ფუნქციები შესრულებულია თანმიმდევრობით და თითოეულს middleware აქვს წვდომა request და response ობიექტებზე, ასევე ფუნქციაზე, რომელიც კონტროლს გადასცემს სტეკის next შემდეგს. middleware

რატომ გამოვიყენოთ Middleware ?

Middleware აუცილებელია თქვენი აპლიკაციის ფუნქციონალური მოდულაციისთვის და მისი შენარჩუნების გაუმჯობესებისთვის. ეს საშუალებას გაძლევთ შეინახოთ თქვენი მარშრუტის დამმუშავებლები სუფთა და ორიენტირებული კონკრეტულ ამოცანებზე, ხოლო ფუნქციებზე გადატვირთოთ საერთო ან ჯვარედინი პრობლემები middleware. შეშფოთების ეს გამიჯვნა ხელს უწყობს კოდის ხელახლა გამოყენებას და თქვენს კოდების ბაზას უფრო ორგანიზებულს ხდის.

შექმნა და გამოყენება Middleware

middleware -ში შესაქმნელად Express.js, თქვენ განსაზღვრავთ ფუნქციას, რომელიც იღებს სამ პარამეტრს: request, response და next.

აქ არის ძირითადი მაგალითი იმისა, middleware რომ ყოველი შემომავალი მოთხოვნა აღრიცხავს:

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() მეთოდი გლობალურად ყველა მარშრუტზე გამოსაყენებლად middleware, ან შეგიძლიათ შერჩევით გამოიყენოთ კონკრეტული მარშრუტებისთვის.

Middleware აღსრულების ბრძანება

Middleware ფუნქციები შესრულებულია იმ თანმიმდევრობით, რაც მათი გამოყენებით არის განსაზღვრული app.use().

Მაგალითად:

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

ამ შემთხვევაში, middleware1 მანამდე შესრულდება middleware2 ყველა შემომავალი მოთხოვნისთვის.

შეცდომების დამუშავება Middleware

თუ ფუნქციის ფარგლებში მოხდა შეცდომა middleware, შეგიძლიათ გადასცეთ შეცდომა ფუნქციას next და Express.js ავტომატურად გადახვალთ შეცდომის დამუშავებაზე middleware.

აი მაგალითი:

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

გამოყენება Middleware ავტორიზაციისთვის

Middleware ჩვეულებრივ გამოიყენება ვებ აპლიკაციებში ავტორიზაციისა და ავტორიზაციის განსახორციელებლად. მაგალითად, თქვენ შეგიძლიათ შექმნათ middleware ფუნქცია, რომელიც ამოწმებს, არის თუ არა მომხმარებლის ავტორიზაცია, სანამ ნებას მისცემს წვდომას გარკვეულ მარშრუტებზე:

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

 

დასკვნა

Middleware in Express.js არის მნიშვნელოვანი ინსტრუმენტი თქვენი ვებ აპლიკაციების მართვისა და ფუნქციონირების გასაუმჯობესებლად. მრავალჯერადი გამოყენების ფუნქციების შექმნით middleware, შეგიძლიათ თქვენი კოდის გამარტივება, პრობლემების მოდულირება და თქვენი პროექტების საერთო შენარჩუნების გაუმჯობესება. ავტორიზაციის დამუშავებიდან დაწყებული ლოგირებამდე და შეცდომების მენეჯმენტამდე, middleware საშუალებას გაძლევთ შექმნათ ძლიერი და უსაფრთხო ვებ აპლიკაციები ეფექტურად.