Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Sürüm Geçmişi
- "Dokümantasyon başlatıldı"v9.0.025.06.2026
Bu sayfanın içeriği bir yapay zeka kullanılarak çevrildi.
Orijinal içeriğin İngilizce son sürümünü görüntüleyinIf 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, bir üretim derlemesi (production build) sırasında derlenmiş sözlük JSON dosyalarını sıkıştıran bir Vite eklentisidir. Gereksiz tüm boşlukları kaldırır ve intlayerPrune ile birleştirildiğinde, paket boyutunu daha da küçültmek için içerik alanı adlarını isteğe bağlı olarak kısa alfabetik takma adlarla (a, b, c, …) yeniden adlandırır.
Eklenti, intlayer() kullandığınızda zaten otomatik olarak dahil edilir ve yapılandırılır. Yalnızca eklenti yığınını kendiniz oluşturuyorsanız bunu manuel olarak kaydetmeniz gerekir.
Kullanım
Kodu panoya kopyala
// 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), ],});Etkinleştirme Koşulları
intlayerMinify yalnızca aşağıdaki üç koşulun tamamı doğru olduğunda etkindir:
- Vite komutu
build(derleme) olduğunda (serve/ dev değil). build.optimizedeğeritrue(veya derlemeler için varsayılan olaraktrueolanundefined) olduğunda.- Intlayer yapılandırmanızda
build.minifydeğeritrueolduğunda.
Editörün tam ve insan tarafından okunabilir sözlük içeriğine ihtiyacı olduğundan, editor.enabled değeri true olduğunda otomatik olarak devre dışı bırakılır.
Neler Sıkıştırılır?
Eklenti, iki sözlük konumunu hedefler (intlayer.system üzerinden çözümlendiği şekliyle):
dictionariesDir— statik tüm dillerdeki sözlükler (örneğin.intlayer/dictionaries/*.json)dynamicDictionariesDir— dil başına dinamik sözlükler
Getirme modundaki sözlükler (fetchDictionariesDir), çalışma zamanında orijinal alan adları kullanılarak uzak bir API'den sunuldukları için asla sıkıştırılmaz. Alan adlarını yeniden adlandırmak, sunucu yanıtı ile istemci tarafı özellik erişimleri arasında bir uyumsuzluk yaratacaktır.
Alan Adı Karartma (Özellik Sıkıştırma)
intlayerPrune kod tabanını analiz edip pruneContext.dictionaryKeyToFieldRenameMap eşlemesini doldurduğunda, intlayerMinify içerik alanı adlarını da kısa takma adlarla yeniden adlandırır. Örneğin:
Kodu panoya kopyala
// önce{ "key": "myDict", "content": { "title": "Hello", "description": "World" } }// sonra (karartma ile){ "key": "myDict", "content": { "a": "Hello", "b": "World" } }Karşılık gelen kaynak dosya özellik erişimleri intlayerOptimize içindeki Babel geçişiyle yeniden adlandırılır, böylece çalışma zamanı davranışı değişmez.
Dahili Intlayer alanları (nodeType, translation vb.) asla yeniden adlandırılmaz.
İstisnai Sözlükler (Edge-cases)
pruneContext.dictionariesWithEdgeCases içinde işaretlenen sözlükler (temizleme aşamasında algılanan yapısal anomaliler), bozuk veri gönderimini önlemek için tamamen atlanır — ne sıkıştırılır ne de karartılır.
Nitelikli Gruplar (Koleksiyonlar / Varyantlar / Meta Kayıtlar)
Bir qualifierTypes dizisine sahip sözlükler (koleksiyonlar, varyantlar ve meta kayıtlar) için eklenti, qualifierTypes dizisini ve meta yan eşlemesini aynen korur. Yalnızca content girişlerinin alan adları karartılır. Çalışma zamanında seçici eşleştirme için kullanılan birleşik anahtarlara asla dokunulmaz.