Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Dieses Dokument ist veraltet, die Basisversion wurde aktualisiert am 25. Juni 2026.
Zur englischen Doku gehenVersionshistorie
- "Dokumentation initialisiert"v8.0.021.1.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
intlayerPrune Vite Plugin Dokumentation
Das intlayerPrune Vite-Plugin wird verwendet, um ungenutzte Wörterbücher aus Ihrem Anwendungs-Bundle mittels Tree-Shaking zu entfernen. Dadurch wird die endgültige Bundle-Größe reduziert, da nur die notwendigen mehrsprachigen Inhalte enthalten bleiben.
Das Plugin ist bereits enthalten und wird automatisch konfiguriert, wenn Sie intlayer() verwenden. Sie müssen es nur manuell registrieren, wenn Sie den Plugin-Stack selbst zusammenstellen.
Verwendung
As part of intlayer() (recommended)
Enable pruning through your Intlayer config and the main plugin handles everything:
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Standalone
Wenn Sie den Plugin-Stack manuell zusammenstellen, teilen intlayerPrune und intlayerMinify ein PruneContext-Objekt, das einmal erstellt und an beide übergeben werden muss:
Kopieren Sie den Code in die Zwischenablage
Funktionsweise
1. Nutzungsanalyse (buildStart)
Während buildStart scannt das intlayerOptimize-Plugin (auch Teil von intlayer()) jede Komponenten-Quelldatei in build.filesList. Für jeden useIntlayer('key')- oder getIntlayer('key')-Aufruf wird genau aufgezeichnet, auf welche Felder zugegriffen wird, z. B.:
Kopieren Sie den Code in die Zwischenablage
Dies erstellt pruneContext.fieldUsageMap, bevor transform-Aufrufe ausgeführt werden.
2. JSON Pruning (transform, enforce: 'pre')
Wenn Vite eine kompilierte Dictionary-JSON-Datei verarbeitet, fängt intlayerPrune sie vor Vites integrierter JSON → ESM-Konvertierung ab. Es liest die Feldnutzungs-Map aus pruneContext und entfernt alle Content-Felder, die nicht im aufgezeichneten Usage-Set enthalten sind.
Zwei Content-Formen werden unterstützt:
- Static dictionaries —
{ nodeType: "translation", translation: { en: {...}, fr: {...} } }. Felder werden pro Locale innerhalb vontranslationentfernt. - Dynamic (per-locale) dictionaries — flach
{ fieldA: ..., fieldB: ... }. Felder werden auf oberster Ebene entfernt.
3. Edge cases
Falls die Inhaltsstruktur eines Wörterbuchs nicht erkannt werden kann (z. B. eine ungewöhnliche verschachtelte Form), wird sie zu pruneContext.dictionariesWithEdgeCases hinzugefügt und bleibt unverändert. Eine Warnung wird protokolliert. intlayerMinify überspringt diese Wörterbücher ebenfalls.
4. Field-rename map
Wenn das Pruning erfolgreich ist, schreibt intlayerPrune auch pruneContext.dictionaryKeyToFieldRenameMap — eine Zuordnung von ursprünglichen Feldnamen zu kurzen Aliasen. intlayerMinify liest diese Map, um Felder in der Ausgabe-JSON umzubenennen, und der Babel-Umbenennungs-Pass von intlayerOptimize aktualisiert entsprechend Eigenschaftszugriffe in Quelldateien.
Aktivierungsbedingungen
intlayerPrune ist aktiv nur wenn alle folgenden Bedingungen erfüllt sind:
- Der Vite-Befehl ist
build. build.optimizeisttrue(oderundefined, was standardmäßigtruefür Builds ist).build.purgeisttruein Ihrer Intlayer-Konfiguration.
Es bleibt aktiv, wenn editor.enabled auf true steht: Der visuelle Editor löst jede Bearbeitung über dictionaryKey + keyPath anhand der unzusammengeführten Wörterbücher auf, die dieses Plugin nie berührt, und ein bereinigtes Feld wird von keiner Komponente gelesen — es wird also nie gerendert und ist auf der Seite nie auswählbar.
