Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Inicjalizacja dokumentacji"v9.0.025.06.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimIf 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
intlayerMinify
intlayerMinify to wtyczka Vite, która minifikuje skompilowane pliki JSON słowników podczas kompilacji produkcyjnej. Usuwa wszystkie niepotrzebne białe znaki i, w połączeniu z intlayerPrune, opcjonalnie zmienia nazwy pól zawartości na krótkie alfabetyczne aliasy (a, b, c, …), aby jeszcze bardziej zmniejszyć rozmiar pakietu (bundle'a).
Ta wtyczka jest automatycznie dołączana i konfigurowana, gdy używasz wtyczki intlayer(). Musisz ją zarejestrować ręcznie tylko wtedy, gdy samodzielnie tworzysz stos wtyczek.
Użycie
Skopiuj kod do schowka
// vite.config.tsimport { defineConfig } from "vite";import { intlayerMinify, intlayerPrune } from "vite-intlayer";import { createPruneContext } from "@intlayer/babel";const pruneContext = createPruneContext();export default defineConfig({ plugins: [ intlayerPrune(intlayerConfig, pruneContext), intlayerMinify(intlayerConfig, pruneContext), ],});Warunki aktywacji
intlayerMinify jest aktywna tylko wtedy, gdy spełnione są wszystkie trzy poniższe warunki:
- Polecenie Vite to
build(nieserve/ dev). - Opcja
build.optimizema wartośćtrue(lubundefined, co dla kompilacji domyślnie oznaczatrue). - Opcja
build.minifyw konfiguracji Intlayer ma wartośćtrue.
Wtyczka jest automatycznie wyłączana, gdy editor.enabled ma wartość true, ponieważ edytor wymaga pełnej, czytelnej dla człowieka zawartości słownika.
Co podlega minifikacji
Wtyczka kieruje swoje działanie na dwie lokalizacje słowników (rozpoznane na podstawie intlayer.system):
dictionariesDir— statyczne słowniki dla wszystkich języków (np..intlayer/dictionaries/*.json)dynamicDictionariesDir— dynamiczne słowniki dla poszczególnych języków
Słowniki w trybie pobierania (fetchDictionariesDir) nigdy nie są minifikowane, ponieważ są serwowane z zewnętrznego API w czasie rzeczywistym przy użyciu ich oryginalnych nazw pól. Zmiana nazw pól stworzyłaby niezgodność między odpowiedzią serwera a dostępem do właściwości po stronie klienta.
Maskowanie nazw pól (minifikacja właściwości)
Gdy wtyczka intlayerPrune przeanalizuje bazę kodu i uzupełni pruneContext.dictionaryKeyToFieldRenameMap, wtyczka intlayerMinify również zmienia nazwy pól zawartości na krótkie aliasy. Na przykład:
Skopiuj kod do schowka
// przed{ "key": "myDict", "content": { "title": "Hello", "description": "World" } }// po (z maskowaniem){ "key": "myDict", "content": { "a": "Hello", "b": "World" } }Odpowiednie odwołania do właściwości w plikach źródłowych są zmieniane przez przebieg Babel wewnątrz intlayerOptimize, więc zachowanie w czasie rzeczywistym pozostaje niezmienione.
Wewnętrzne pola Intlayer (nodeType, translation itp.) nigdy nie zmieniają nazw.
Słowniki z przypadkami brzegowymi
Słowniki oznaczone w pruneContext.dictionariesWithEdgeCases (anomalie strukturalne wykryte podczas fazy oczyszczania/prune) są całkowicie pomijane — nie są minifikowane ani maskowane — aby uniknąć dostarczenia uszkodzonych danych.
Grupy kwalifikowane (kolekcje / warianty / metarekordy)
W przypadku słowników z tablicą qualifierTypes (kolekcje, warianty i metarekordy), wtyczka zachowuje tablicę qualifierTypes oraz mapę poboczną meta w oryginalnej formie. Maskowane są tylko nazwy pól wewnątrz wpisów content. Złożone klucze (używane do dopasowywania selektorów w czasie rzeczywistym) nigdy nie są modyfikowane.