अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "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
intlayerCompiler
intlayerCompiler एक Vite प्लगइन है जो घटक स्रोत फ़ाइलों को इनलाइन Intlayer सामग्री घोषणाओं — एक अलग .content.ts फ़ाइल के बजाय सीधे एक घटक के अंदर परिभाषित सामग्री — के लिए स्कैन करता है और उन्हें ट्रांसफ़ॉर्म चरण के दौरान शब्दकोश JSON फ़ाइलों में लिखता है।
Intlayer v9 सेintlayerCompilerस्वचालित रूप से मुख्यintlayer()प्लगइन के अंदर शामिल होता है जब आपके Intlayer कॉन्फ़िगरेशन मेंcompiler.enabledदोनोंtrueऔरcompiler.outputसेट होते हैं। आपको इसे अलग से पंजीकृत करने की आवश्यकता केवल तब होती है जब आप कंपाइलर-विशिष्ट कॉन्फ़िगरेशन पर पूर्ण नियंत्रण चाहते हैं।
उपयोग
intlayer() के हिस्से के रूप में (अनुशंसित, v9+)
अपने Intlayer कॉन्फ़िगरेशन के माध्यम से कंपाइलर को सक्षम करें:
कोड को क्लिपबोर्ड पर कॉपी करें
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ compiler: { enabled: true, output: "./src/dictionaries", // जहां निकाली गई शब्दकोश लिखी जाती हैं },});फिर बिना किसी अतिरिक्त पंजीकरण के मानक प्लगइन का उपयोग करें:
कोड को क्लिपबोर्ड पर कॉपी करें
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});स्टैंडअलोन (जब आवश्यकता हो)
कोड को क्लिपबोर्ड पर कॉपी करें
// vite.config.tsimport { defineConfig } from "vite";import { intlayerCompiler } from "vite-intlayer";export default defineConfig({ plugins: [intlayerCompiler()],});विकल्प
कोड को क्लिपबोर्ड पर कॉपी करें
import type { IntlayerCompilerOptions } from "vite-intlayer";सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| विकल्प | प्रकार | विवरण |
|---|---|---|
configOptions | GetConfigurationOptions | Intlayer कॉन्फ़िगरेशन ओवरराइड्स जो getConfiguration() को अग्रेषित किए जाते हैं। |
compilerConfig | Partial<CompilerConfig> | कंपाइलर-विशिष्ट कॉन्फ़िगरेशन अनुभाग (जैसे enabled, output, filesList) के लिए ओवरराइड्स। |
उदाहरण
कोड को क्लिपबोर्ड पर कॉपी करें
intlayerCompiler({ configOptions: { configFile: "./config/intlayer.config.ts" }, compilerConfig: { enabled: true, output: "./src/dictionaries" },});यह कैसे काम करता है
ट्रांसफ़ॉर्म चरण
प्रत्येक स्रोत फ़ाइल के लिए जो compiler.filesList से मेल खाती है, कंपाइलर प्लगइन:
- फ़ाइल सामग्री को
@intlayer/babelसेextractContentके माध्यम से पास करता है। - पाई गई प्रत्येक घोषणा के लिए
onExtractको कॉल करता है, जो परिणामी शब्दकोश JSON कोcompiler.outputमें लिखता है। - मानक
useIntlayer('key')/getIntlayer('key')कॉल द्वारा प्रतिस्थापित इनलाइन घोषणाओं के साथ ट्रांसफ़ॉर्म किए गए स्रोत कोड को लौटाता है।
समर्थित फ़ाइल प्रकार: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro।
HMR (हॉट मॉड्यूल रिप्लेसमेंट)
जब विकास मोड में एक घटक फ़ाइल सहेजी जाती है, तो कंपाइलर:
- Vite के
handleHotUpdateहुक के माध्यम से फ़ाइल परिवर्तन का पता लगाता है। - अपडेट की गई फ़ाइल से सामग्री को फिर से निकालता है।
- अपडेट किए गए शब्दकोश JSON को लिखता है।
- पूर्ण पृष्ठ पुनरारंभ (
server.ws.send({ type: 'full-reload' })) को ट्रिगर करता है।
500 ms का डिबाउंस शब्दकोश लिखने को स्वयं (जो एक फ़ाइल-परिवर्तन ईवेंट को भी ट्रिगर करता है) एक अनंत पुनः निष्कर्षण लूप पैदा करने से रोकता है।
डिडुप्लीकेशन
intlayerCompiler अन्य बंडल प्लगइन्स की तरह ही createPrimaryInstanceGuard डिडुप्लीकेशन तंत्र का उपयोग करता है। जब intlayer() (जो कंपाइलर को बंडल करता है) और एक मैन्युअल intlayerCompiler() कॉल दोनों मौजूद होते हैं, तो केवल पहला पंजीकृत उदाहरण चलता है — कोई भी शब्दकोश दो बार नहीं लिखा जाता है।