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
- "intlayer() içine dahil edildi; 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
intlayerCompiler
intlayerCompiler, bileşen kaynak dosyalarını satır içi Intlayer içerik bildirimleri (ayrı bir .content.ts dosyası yerine doğrudan bir bileşen içinde tanımlanan içerikler) için tarayan ve bunları dönüştürme aşamasında sözlük JSON dosyalarına yazan bir Vite eklentisidir.
Intlayer v9'dan beriintlayerCompiler, Intlayer yapılandırmanızda hemcompiler.enableddeğeritruehem decompiler.outputayarlandığında anaintlayer()eklentisine otomatik olarak dahil edilir. Yalnızca derleyiciye özel yapılandırma üzerinde tam kontrol sahibi olmak istediğinizde bunu ayrıca kaydetmeniz gerekir.
Kullanım
intlayer() Eklentisinin Parçası Olarak (Önerilen, v9+)
Derleyiciyi Intlayer yapılandırmanız aracılığıyla etkinleştirin:
Kodu panoya kopyala
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ compiler: { enabled: true, output: "./src/dictionaries", // ayıklanan sözlüklerin yazılacağı yer },});Ardından, ek bir kayıt yapmadan standart eklentiyi kullanın:
Kodu panoya kopyala
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Bağımsız (Standalone - gerektiğinde)
Kodu panoya kopyala
// vite.config.tsimport { defineConfig } from "vite";import { intlayerCompiler } from "vite-intlayer";export default defineConfig({ plugins: [intlayerCompiler()],});Seçenekler
Kodu panoya kopyala
import type { IntlayerCompilerOptions } from "vite-intlayer";Tüm veri içeriğini net bir şekilde görmek için tabloyu modalde açın
| Seçenek | Tür | Açıklama |
|---|---|---|
configOptions | GetConfigurationOptions | getConfiguration() işlevine iletilen Intlayer yapılandırma geçersiz kılmaları. |
compilerConfig | Partial<CompilerConfig> | Derleyiciye özel yapılandırma bölümü için geçersiz kılmalar (örneğin enabled, output, filesList). |
Örnek
Kodu panoya kopyala
intlayerCompiler({ configOptions: { configFile: "./config/intlayer.config.ts" }, compilerConfig: { enabled: true, output: "./src/dictionaries" },});Nasıl çalışır?
Dönüştürme Aşaması (Transform)
compiler.filesList ile eşleşen her kaynak dosya için derleyici eklentisi:
- Dosya içeriğini
@intlayer/babelpaketindekiextractContentişlevine iletir. - Bulunan her bildirim için
onExtractişlevini çağırır ve bu işlev, ortaya çıkan sözlük JSON dosyasınıcompiler.outputyoluna yazar. - Satır içi bildirimlerin standart
useIntlayer('key')/getIntlayer('key')çağrılarıyla değiştirildiği dönüştürülmüş kaynak kodu döndürür.
Desteklenen dosya türleri: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro.
HMR (Hot Module Replacement - Sıcak Modül Değişimi)
Geliştirme modunda bir bileşen dosyası kaydedildiğinde derleyici:
- Vite'in
handleHotUpdatekancası (hook) aracılığıyla dosya değişikliğini algılar. - Güncellenen dosyadan içeriği yeniden ayıklar.
- Güncellenen sözlük JSON dosyasını yazar.
- Tam sayfa yenilemesini tetikler (
server.ws.send({ type: 'full-reload' })).
500 ms'lik bir debounce (gecikme), sözlük yazma işleminin kendisinin (bu da bir dosya değişikliği olayını tetikler) sonsuz bir yeniden ayıklama döngüsüne neden olmasını önler.
Tekilleştirme (Deduplication)
intlayerCompiler, diğer paketlenmiş eklentilerle aynı createPrimaryInstanceGuard tekilleştirme mekanizmasını kullanır. Hem intlayer() (derleyiciyi içeren) hem de manuel bir intlayerCompiler() çağrısı mevcut olduğunda, yalnızca ilk kaydedilen örnek çalışır — hiçbir sözlük iki kez yazılmaz.