Middleware में Express.js: मध्यवर्ती अनुरोध को संभालना

Middleware में परिचय 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 आपको कुशलतापूर्वक मजबूत और सुरक्षित वेब एप्लिकेशन बनाने का अधिकार देता है।