Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Cronologia delle versioni
- "Init doc"v9.0.025/06/2026
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseSe hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazioneCopia il Markdown del documento nella porta-documenti
intlayerMinify
intlayerMinify è un plugin Vite che minifica i file JSON del dizionario compilato durante una build di produzione. Rimuove tutti gli spazi vuoti non necessari e, se combinato con intlayerPrune, rinomina opzionalmente i nomi dei campi di contenuto con brevi alias alfabetici (a, b, c, …) per ridurre ulteriormente la dimensione del bundle.
Il plugin è già incluso e configurato automaticamente quando usi intlayer(). Devi solo registrarlo manualmente se stai componendo lo stack di plugin da solo.
Utilizzo
Copiare il codice nella clipboard
Condizioni di attivazione
intlayerMinify è attivo solo quando sono soddisfatte tutte e tre le seguenti condizioni:
- Il comando Vite è
build(nonserve/ dev). build.optimizeètrue(oundefined, che per impostazione predefinita ètrueper le build).build.minifyètruenella tua configurazione Intlayer.
Quando editor.enabled è true, il plugin viene comunque eseguito ma salta la rinomina dei campi: la rinomina riscrive le chiavi di contenuto che l'interprete attraversa, quindi il keyPath ricevuto dall'editor visuale non corrisponderebbe più ai dizionari non uniti che modifica. La compattazione degli spazi bianchi e la rimozione dei metadati di primo livello restano attive.
Cosa viene minificato
Il plugin prende di mira due posizioni del dizionario (come risolto da intlayer.system):
dictionariesDir— dizionari statici per tutte le lingue (es..intlayer/dictionaries/*.json)dynamicDictionariesDir— dizionari dinamici per lingua
I dizionari in modalità fetch (fetchDictionariesDir) non vengono mai minificati perché sono serviti da un'API remota a runtime utilizzando i loro nomi di campo originali. La ridenominazione dei campi creerebbe una mancata corrispondenza tra la risposta del server e gli accessi alle proprietà lato client.
Mascheramento dei nomi dei campi (minificazione delle proprietà)
Quando intlayerPrune ha analizzato la codebase e popolato pruneContext.dictionaryKeyToFieldRenameMap, intlayerMinify rinomina anche i nomi dei campi di contenuto in brevi alias. Ad esempio:
Copiare il codice nella clipboard
I corrispondenti accessi alle proprietà del file sorgente vengono rinominati dal passaggio Babel all'interno di intlayerOptimize, in modo che il comportamento a runtime rimanga invariato.
I campi interni di Intlayer (nodeType, translation, ecc.) non vengono mai rinominati.
Dizionari di casi limite (Edge-cases)
I dizionari contrassegnati in pruneContext.dictionariesWithEdgeCases (anomalie strutturali rilevate durante la fase di prune) vengono saltati completamente — né minificati né mascherati — per evitare di distribuire dati danneggiati.
Gruppi qualificati (collezioni / varianti / record meta)
Per i dizionari con un array qualifierTypes (collezioni, varianti e record meta), il plugin preserva letteralmente l'array qualifierTypes e la mappa laterale meta. Solo per le voci di content viene eseguito il mascheramento dei nomi dei campi. Le chiavi composite (utilizzate per la corrispondenza dei selettori a runtime) non vengono mai toccate.
