"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Next.js मिडलवेयर का परिचय: यह उदाहरणों के साथ कैसे काम करता है

Next.js मिडलवेयर का परिचय: यह उदाहरणों के साथ कैसे काम करता है

2024-10-06 को प्रकाशित
ब्राउज़ करें:291

Introduction to Next.js Middleware: How It Works with Examples

आइए नेक्स्टज में रूटिंग के बारे में बात करते हैं। आज हम सबसे ताकतवर चीज मिडलवेयर के बारे में बात करेंगे। नेक्स्टजेएस में मिडलवेयर सर्वर से अनुरोधों को रोकने और अनुरोध प्रवाह (रीडायरेक्ट, यूआरएल पुनर्लेखन) को नियंत्रित करने और प्रमाणीकरण, हेडर, कुकी दृढ़ता जैसी वैश्विक स्तर पर सुविधाओं को बढ़ाने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करता है।

मिडलवेयर बनाना

आइए मिडिलवेयर नेक्स्ट.जेएस एप्लिकेशन बनाएं। सबसे पहले, हम src फ़ोल्डर में मिडिलवेयर.जेएस या मिडिलवेयर.टीएस जैसे मिडलवेयर के लिए एक नई फ़ाइल बनाएंगे। नेक्स्ट.जेएस में मिडलवेयर को आपको उस पर अच्छे नियंत्रण की अनुमति देने की आवश्यकता है जहां यह सक्रिय होगा (यानी कस्टम मैचर कॉन्फ़िगरेशन, या isXXX फ़ंक्शंस का उपयोग करना)

पुन: निर्देशित

एक उदाहरण के रूप में पुनर्निर्देशन का उपयोग करते हुए, आइए एक ऐसे परिदृश्य की कल्पना करें जहां /प्रोफ़ाइल पर नेविगेट करने से उपयोगकर्ता को मुखपृष्ठ पर पुनर्निर्देशित किया जाना चाहिए। कस्टम मैचर कॉन्फ़िगरेशन दृष्टिकोण के साथ, हम आवश्यक प्रकार आयात करके, मिडलवेयर फ़ंक्शन को परिभाषित करके और मैचर कॉन्फ़िगरेशन निर्दिष्ट करके इसे प्राप्त कर सकते हैं:

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  return NextResponse.redirect(request.url.replace('/profile', '/'));
}

export const config = {
  matcher: '/profile',
};

इस उदाहरण में, मिडलवेयर फ़ंक्शन जांच करता है कि अनुरोध यूआरएल पथ /प्रोफ़ाइल है या नहीं और उपयोगकर्ता को होमपेज पर रीडायरेक्ट करता है।

सशर्त कथन दृष्टिकोण के लिए, हम कोड को निम्नानुसार संशोधित कर सकते हैं:

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  if (request.nextUrl.pathname === '/profile') {
    return NextResponse.redirect('/hello');
  }
  return NextResponse.next();
}

इस मामले में, मिडलवेयर अनुरोध यूआरएल पथ की जांच करता है और यदि पथ /प्रोफ़ाइल है तो उपयोगकर्ता को /हैलो रूट पर रीडायरेक्ट करता है।

नेक्स्ट.जेएस में मिडलवेयर केवल पुनर्निर्देशन को संभालने से कहीं आगे जाता है। यह URL पुनर्लेखन की भी अनुमति देता है, जो लीगेसी URL समर्थन या SEO अनुकूलन के लिए उपयोगी हो सकता है। पिछले उदाहरणों में रीडायरेक्ट को रीराइट में बदलने से, ब्राउज़र में यूआरएल वही रहेगा (/प्रोफ़ाइल), लेकिन प्रतिक्रिया सामग्री /हैलो रूट से सामग्री में बदल जाएगी।

कुकीज़ का उपयोग करना

अंत में, आइए मिडलवेयर में कुकीज़ और हेडर के उपयोग का पता लगाएं। हम थीम के लिए उपयोगकर्ता की प्राथमिकताओं को संभालने के लिए अपने मिडलवेयर को संशोधित कर सकते हैं और सभी प्रतिक्रियाओं के लिए एक कस्टम हेडर जोड़ सकते हैं:

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const response = NextResponse.next();

  // Handle user theme preference
  const themePreference = request.cookies.get('theme');
  if (!themePreference) {
    response.cookies.set('theme', 'dark');
  }

  // Add a custom header
  response.headers.set('Custom-Header', 'Custom Value');

  return response;
}

इस उदाहरण में, हम पहले जांचते हैं कि उपयोगकर्ता के पास कुकी में थीम प्राथमिकता संग्रहीत है या नहीं। यदि नहीं, तो हम कुकी जोड़कर थीम को 'डार्क' पर सेट करते हैं। फिर, हम प्रतिक्रिया में एक कस्टम हेडर जोड़ते हैं, जो अतिरिक्त जानकारी देने या डिबगिंग उद्देश्यों के लिए उपयोगी हो सकता है।

जैसा कि आप देख सकते हैं, नेक्स्ट.जेएस में मिडलवेयर एक शक्तिशाली उपकरण है जो आपको अनुरोध-प्रतिक्रिया चक्र को प्रभावी ढंग से नियंत्रित और इंटरसेप्ट करने, रीडायरेक्ट, यूआरएल रीराइट और हेडर और कुकीज़ के हेरफेर को सक्षम करने की अनुमति देता है। मिडलवेयर में महारत हासिल करके, आप अपने Next.js अनुप्रयोगों में रूटिंग अनुभव को बढ़ा सकते हैं और अधिक मजबूत और अनुकूलन योग्य उपयोगकर्ता अनुभव बना सकते हैं।

"नेक्स्ट.जेएस में मिडलवेयर एक शक्तिशाली सुविधा है जो आपके एप्लिकेशन के भीतर अनुरोधों और प्रतिक्रियाओं के प्रवाह को रोकने और नियंत्रित करने का एक मजबूत तरीका प्रदान करता है।" - Next.js दस्तावेज़ीकरण

निष्कर्ष

संक्षेप में, हमने सीखा है कि नेक्स्ट.जेएस में मिडलवेयर को कैसे परिभाषित किया जाए, दो मुख्य दृष्टिकोण (कस्टम मिलानकर्ता कॉन्फ़िगरेशन और सशर्त विवरण) का पता लगाया जाए, और पुनर्निर्देशन, यूआरएल पुनर्लेखन और कुकीज़ और हेडर के प्रबंधन को संभालने के लिए मिडलवेयर लागू किया जाए। . यह ज्ञान आपको मिडलवेयर द्वारा प्रदान किए जाने वाले लचीलेपन और नियंत्रण का लाभ उठाकर अपने नेक्स्ट.जेएस एप्लिकेशन को अगले स्तर तक ले जाने में मदद करेगा।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/sheraz4194/introduction-to-nextjs-middleware-how-it-works-with-examples-46pp?1 यदि कोई उल्लंघन है, तो कृपया [email protected] पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3