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 तपाईंलाई बलियो र सुरक्षित वेब अनुप्रयोगहरू कुशलतापूर्वक निर्माण गर्न सशक्त बनाउँछ।