Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "In intlayer() integriert; Dokumentation initialisiert"v9.0.025.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenIf 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 ist ein Vite-Plugin, das Komponenten-Quelldateien nach Inline-Intlayer-Inhaltsdeklarationen scannt — also Inhalten, die direkt in einer Komponente statt in einer separaten .content.ts-Datei definiert sind — und diese während der Transformationsphase in Wörterbuch-JSON-Dateien schreibt.
Seit Intlayer v9 istintlayerCompilerautomatisch im Hauptpluginintlayer()enthalten, wenn sowohlcompiler.enabledauftruegesetzt als auchcompiler.outputin Ihrer Intlayer-Konfiguration konfiguriert ist. Sie müssen es nur dann separat registrieren, wenn Sie die volle Kontrolle über die Compiler-spezifische Konfiguration wünschen.
Verwendung
Als Teil von intlayer() (empfohlen, v9+)
Aktivieren Sie den Compiler in Ihrer Intlayer-Konfiguration:
Kopieren Sie den Code in die Zwischenablage
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ compiler: { enabled: true, output: "./src/dictionaries", // Ort, an den extrahierte Wörterbücher geschrieben werden },});Verwenden Sie dann das Standard-Plugin ohne zusätzliche Registrierung:
Kopieren Sie den Code in die Zwischenablage
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Standalone (falls erforderlich)
Kopieren Sie den Code in die Zwischenablage
// vite.config.tsimport { defineConfig } from "vite";import { intlayerCompiler } from "vite-intlayer";export default defineConfig({ plugins: [intlayerCompiler()],});Optionen
Kopieren Sie den Code in die Zwischenablage
import type { IntlayerCompilerOptions } from "vite-intlayer";Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Option | Typ | Beschreibung |
|---|---|---|
configOptions | GetConfigurationOptions | Intlayer-Konfigurations-Overrides, die an getConfiguration() weitergeleitet werden. |
compilerConfig | Partial<CompilerConfig> | Overrides für den Compiler-spezifischen Konfigurationsabschnitt (z. B. enabled, output, filesList). |
Beispiel
Kopieren Sie den Code in die Zwischenablage
intlayerCompiler({ configOptions: { configFile: "./config/intlayer.config.ts" }, compilerConfig: { enabled: true, output: "./src/dictionaries" },});Funktionsweise
Transformationsphase
Für jede Quelldatei, die auf compiler.filesList passt, führt das Compiler-Plugin folgende Schritte aus:
- Übergibt den Dateiinhalt an
extractContentaus@intlayer/babel. - Ruft für jede gefundene Deklaration
onExtractauf, wodurch die resultierende Wörterbuch-JSON-Datei incompiler.outputgeschrieben wird. - Gibt den transformierten Quellcode zurück, bei dem Inline-Deklarationen durch Standardaufrufe von
useIntlayer('key')/getIntlayer('key')ersetzt wurden.
Unterstützte Dateitypen: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro.
HMR (Hot Module Replacement)
Wenn eine Komponentendatei im Entwicklungsmodus gespeichert wird, führt der Compiler folgende Schritte aus:
- Erkennt die Dateiänderung über Vites
handleHotUpdate-Hook. - Extrahiert den Inhalt der aktualisierten Datei erneut.
- Schreibt die aktualisierte Wörterbuch-JSON-Datei.
- Löst einen vollständigen Seitenreload aus (
server.ws.send({ type: 'full-reload' })).
Ein Debounce von 500 ms verhindert, dass das Schreiben des Wörterbuchs selbst (das ebenfalls ein Dateiänderungsereignis auslöst) eine unendliche Extraktionsschleife verursacht.
Deduplizierung
intlayerCompiler verwendet denselben Deduplizierungsmechanismus (createPrimaryInstanceGuard) wie die anderen gebündelten Plugins. Wenn sowohl intlayer() (das den Compiler bündelt) als auch ein manueller intlayerCompiler()-Aufruf vorhanden sind, wird nur die erste registrierte Instanz ausgeführt — es werden keine Wörterbücher doppelt geschrieben.