Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Bu belge güncel değil, temel sürüm şu tarihte güncellendi 25 Haziran 2026.
İngilizce dökümana gitSürüm Geçmişi
- "Dokümantasyon başlatıldı"v8.0.021.01.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üleyinBu dokümantasyonu geliştirmek için bir fikriniz varsa, lütfen GitHub'da bir çekme isteği göndererek katkıda bulunmaktan çekinmeyin.
Dokümantasyon için GitHub bağlantısıBelge Markdown'ını panoya kopyala
intlayerPrune Vite Eklentisi Dokümantasyonu
intlayerPrune Vite eklentisi, uygulama paketinizden kullanılmayan sözlükleri tree-shake edip budamak için kullanılır. Bu, yalnızca gerekli çokdilli içeriği dahil ederek son bundle boyutunu azaltmaya yardımcı olur.
Plugin, intlayer() kullanırken otomatik olarak dahil edilir ve yapılandırılır. Plugin stack'ini kendiniz oluşturuyorsanız, bunu yalnızca manuel olarak kaydetmeniz gerekir.
Kullanım
intlayer() kapsamında (önerilen)
Intlayer yapılandırmanız aracılığıyla pruning'i etkinleştirin ve ana plugin her şeyi işler:
Kodu panoya kopyala
Kodu panoya kopyala
Standalone
Plugin stack'ini manuel olarak oluşturuyorsanız, intlayerPrune ve intlayerMinify bir PruneContext nesnesini paylaşır ve bu nesne bir kez oluşturulup her ikisine de geçirilmelidir:
Kodu panoya kopyala
Nasıl çalışır
1. Kullanım analizi (buildStart)
buildStart sırasında, intlayerOptimize eklentisi (aynı zamanda intlayer()'ın bir parçası) build.filesList'de listelenen her bileşen kaynak dosyasını tarar. Her useIntlayer('key') veya getIntlayer('key') çağrısı için, hangi alanların erişildiğini tam olarak kaydeder, örneğin:
Kodu panoya kopyala
Bu, herhangi bir transform çağrısı çalışmadan önce pruneContext.fieldUsageMap'i oluşturur.
2. JSON budama (transform, enforce: 'pre')
Vite derlenmiş bir sözlük JSON dosyasını işlediğinde, intlayerPrune bunu Vite'nin yerleşik JSON → ESM dönüştürmesinden önce ele geçirir. pruneContext'ten alan kullanım haritasını okur ve kaydedilen kullanım setinde olmayan herhangi bir içerik alanını kaldırır.
İki içerik şekli desteklenir:
- Statik sözlükler —
{ nodeType: "translation", translation: { en: {...}, fr: {...} } }. Alanlartranslationiçinde yerel başına budanır. - Dinamik (yerel başına) sözlükler — düz
{ fieldA: ..., fieldB: ... }. Alanlar en üst düzeyde budanır.
3. Edge cases
Bir sözlüğün içerik yapısı tanınamazsa (örneğin, olağandışı iç içe bir şekil), pruneContext.dictionariesWithEdgeCases öğesine eklenir ve değiştirilmez bırakılır. Bir uyarı günlüğe kaydedilir. intlayerMinify bu sözlükleri de atlar.
4. Field-rename map
Budama başarılı olduğunda, intlayerPrune ayrıca pruneContext.dictionaryKeyToFieldRenameMap — orijinal alan adlarından kısa takma adlara eşleme yazar. intlayerMinify çıktı JSON'daki alanları yeniden adlandırmak için bu haritayı okur ve intlayerOptimize'ın Babel rename geçişi kaynak dosyalardaki property erişimlerini buna göre günceller.
Aktivasyon koşulları
intlayerPrune yalnızca aşağıdakilerin hepsi doğru olduğunda etkin olur:
- Vite komutu
buildolur. build.optimizetrueolur (veyaundefined, derlemeler için varsayılan olaraktrueolur).build.purgeIntlayer yapılandırmanızdatrueolur.
editor.enabled true olduğunda etkin kalmaya devam eder: görsel düzenleyici, bu eklentinin asla dokunmadığı birleştirilmemiş sözlüklere karşı her düzenlemeyi dictionaryKey + keyPath üzerinden çözer ve temizlenen bir alan hiçbir bileşenin okumadığı bir alandır — bu yüzden asla render edilmez ve sayfada seçilemez.
