अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "configOptions को सिंगल ऑप्शंस ऑब्जेक्ट में मर्ज किया गया; प्रॉक्सी को intlayer() में बंडल किया गया"v9.0.025/6/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
intlayerProxy
intlayerProxy एक Vite प्लगइन है जो हर वातावरण: dev सर्वर, पूर्वावलोकन (preview) सर्वर और उत्पादन SSR (Nitro / TanStack Start) के लिए लोकेल-रूटिंग मिडलवेयर पंजीकृत करता है।
Intlayer v9 सेintlayerProxyस्वचालित रूप से मुख्यintlayer()प्लगइन के अंदर शामिल होता है औरrouting.enableProxy: trueके माध्यम से डिफ़ॉल्ट रूप से सक्षम होता है। आपको इसे अलग से पंजीकृत करने की आवश्यकता केवल तब होती है जब आपको निम्न-स्तरीय नियंत्रण की आवश्यकता होती है या आप इसे मानकintlayer()सेटअप के बाहर उपयोग कर रहे हैं।
उपयोग
intlayer() के हिस्से के रूप में (अनुशंसित, v9+)
intlayerProxy को अलग से पंजीकृत करने के बजाय मुख्य प्लगइन में proxy विकल्प पास करें:
कोड को क्लिपबोर्ड पर कॉपी करें
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});स्टैंडअलोन (जब आवश्यकता हो)
कोड को क्लिपबोर्ड पर कॉपी करें
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});विकल्प
कोड को क्लिपबोर्ड पर कॉपी करें
import type { IntlayerProxyPluginOptions } from "vite-intlayer";सभी विकल्प वैकल्पिक हैं और एक एकल ऑब्जेक्ट के रूप में पास किए जाते हैं:
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| विकल्प | प्रकार | विवरण |
|---|---|---|
ignore | (req: IncomingMessage) => boolean | विधेय (predicate) जो अनुरोधों को लोकेल रूटिंग से बाहर करता है। अनुरोध को छोड़ने के लिए true लौटाएं (जैसे API रूट, स्वास्थ्य जांच)। |
configOptions | GetConfigurationOptions | Intlayer कॉन्फ़िगरेशन ओवरराइड्स जो getConfiguration() को अग्रेषित किए जाते हैं। तब उपयोग करें जब आपको प्रॉक्सी को एक विशिष्ट कॉन्फ़िगरेशन फ़ाइल पढ़ने या मानों को ओवरराइड करने की आवश्यकता हो। |
उदाहरण
कोड को क्लिपबोर्ड पर कॉपी करें
intlayerProxy({ ignore: (req) => req.url?.startsWith("/api"), configOptions: { configFile: "./config/intlayer.config.ts" },});createIntlayerProxyHandler
createIntlayerProxyHandler एक स्टैंडअलोन, फ्रेमवर्क-अज्ञेयवादी Node.js (req, res, next) मिडलवेयर बनाता है जिसमें सभी लोकेल-रूटिंग लॉजिक शामिल होते हैं। यह उन वातावरणों में उपयोगी है जहां Vite प्लगइन API अनुपलब्ध है (जैसे एक सादा Node.js सर्वर या एक कस्टम Nitro मॉड्यूल)।
कोड को क्लिपबोर्ड पर कॉपी करें
import { createIntlayerProxyHandler } from "vite-intlayer";const handler = createIntlayerProxyHandler({ ignore: (req) => req.url?.startsWith("/api"), configOptions: { configFile: "./config/intlayer.config.ts" },});// Express / Connectapp.use(handler);उत्पादन SSR (TanStack Start / h3 के माध्यम से Nitro)
कोड को क्लिपबोर्ड पर कॉपी करें
// server/middleware/intlayerProxy.tsimport { fromNodeMiddleware } from "h3";import { createIntlayerProxyHandler } from "vite-intlayer";export default fromNodeMiddleware( createIntlayerProxyHandler({ ignore: (req) => req.url?.startsWith("/api"), }));रूटिंग व्यवहार
मिडलवेयर next-intlayer मिडलवेयर से रूटिंग लॉजिक को मिरर करता है और सभी Intlayer रूटिंग मोड का समर्थन करता है।
रूटिंग मोड
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| मोड | ब्राउज़र में दिखने वाला URL | व्यवहार |
|---|---|---|
prefix | /hi/about | डिफ़ॉल्ट। URL में लोकेल उपसर्ग। डिफ़ॉल्ट लोकेल बिना उपसर्ग वाले URL पर रीडायरेक्ट करता है जब तक कि prefix-all सक्रिय न हो। |
prefix-all | /en/about, /hi/about | सभी लोकेल — डिफ़ॉल्ट सहित — हमेशा उपसर्ग वाले होते हैं। |
no-prefix | /about | URL में कोई लोकेल नहीं। लोकेल केवल कुकीज़ में संग्रहीत होता है; URL पुनर्लेखन आंतरिक रूप से होता है। |
search-params | /about?locale=hi | लोकेल को क्वेरी पैरामीटर के रूप में पास किया गया। गायब या बासी होने पर locale पैरामीटर को जोड़ने/अपडेट करने के लिए रीडायरेक्ट करता है। |
डिटेक्शन प्राथमिकता
- URL पथ उपसर्ग (जैसे
/hi/about→hi)। - कुकी / localStorage मान (
intlayer-locale)। Accept-Languageहेडर।- कॉन्फ़िगरेशन से
defaultLocale।
स्वचालित बाईपास
मिडलवेयर इन अनुरोधों को बिना लोकेल हैंडलिंग के हमेशा सीधे पास करता है:
ignoreविधेय से मेल खाने वाले अनुरोध।/node_modules/**/@**– Vite आंतरिक (@vite/,@fs/,@id/, आदि)।/_**– सर्वर आंतरिक (__vite_ping,__manifest, आदि)।- अनुरोध जिनका पथ फ़ाइल एक्सटेंशन के साथ समाप्त होता है (स्थिर संपत्ति)। यदि एक स्थिर संपत्ति पथ (जैसे
/hi/logo.png) पर एक लोकेल उपसर्ग मौजूद है, तो उसे हटा दिया जाता है ताकि फ़ाइल को सही ढंग से परोसा जा सके।
डोमेन रूटिंग
जब आपके Intlayer कॉन्फ़िगरेशन में routing.domains कॉन्फ़िगर किया जाता है, तो मिडलवेयर क्रॉस-डोमेन लोकेल रूटिंग को संभालता है:
intlayer.orgपर/zh/aboutके लिए अनुरोधhttps://intlayer.zh/aboutपर रीडायरेक्ट किया जाता है जबdomains.zh = "intlayer.zh"होता है।intlayer.zh/aboutके अनुरोध को आंतरिक रूप से/zh/aboutमें फिर से लिखा जाता है ताकि[locale]रूट पैरामीटर आबाद हो जाए।
रीडायरेक्ट लूप सुरक्षा
मिडलवेयर 2-सेकंड की स्लाइडिंग विंडो के भीतर प्रति originalUrl → newUrl जोड़ी रीडायरेक्ट गणनाओं को ट्रैक करता है। उस विंडो के भीतर 10 से अधिक रीडायरेक्ट हमेशा के लिए लूप करने के बजाय एक वर्णनात्मक त्रुटि के साथ 500 प्रतिक्रिया लौटाते हैं।
Nitro / उत्पादन SSR (स्वचालित इंजेक्शन, v9+)
जब intlayerProxy को Vite प्लगइन के रूप में उपयोग किया जाता है, तो यह एक .nitro संपत्ति रखता है। nitro/vite बिल्ड प्लगइन इस संपत्ति को पढ़ता है और इसे nitroConfig.modules में धकेलता है, इसलिए intlayerNitroHandler स्वचालित रूप से एक Nitro सर्वर मिडलवेयर के रूप में पंजीकृत हो जाता है — उत्पादन SSR के लिए किसी मैन्युअल कॉन्फ़िगरेशन की आवश्यकता नहीं होती है।
Nitro हैंडलर h3 v2 के वेब फ़ेच API ईवेंट मॉडल (ना कि fromNodeMiddleware) का उपयोग करता है इसलिए यह सभी Nitro प्रीसेट के साथ संगत है: Node, Bun, Deno, edge runtimes।
अप्रचलित उपनाम (Deprecated Aliases)
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| अप्रचलित निर्यात | प्रतिस्थापन |
|---|---|
intlayerMiddleware | intlayerProxy |
intLayerMiddlewarePlugin | intlayerProxy |