Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Dokumen ini sudah usang, versi dasar telah diperbarui pada 25 Juni 2026.
Buka dokumen bahasa InggrisRiwayat Versi
- "Init doc"v8.0.021/1/2026
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisIf 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
Dokumentasi Plugin Vite intlayer
Plugin Vite intlayer mengintegrasikan konfigurasi Intlayer ke dalam proses build. Plugin ini menangani alias kamus, memulai watcher kamus dalam mode pengembangan, dan mempersiapkan kamus untuk proses build.
Penggunaan
Salin kode ke clipboard
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Opsi
Salin kode ke clipboard
import type { IntlayerPluginOptions } from "vite-intlayer";IntlayerPluginOptions extends GetConfigurationOptions (lihat @intlayer/config) dengan field tambahan berikut:
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Opsi | Tipe | Default | Deskripsi |
|---|---|---|---|
compatCallers | CompatCallerConfig[] | [] | Pola caller tambahan untuk package compat-adapter (misalnya @intlayer/react-i18next). Diteruskan ke field-usage analyser pada saat build. |
proxy | { ignore?: (req) => boolean } | undefined | Opsi yang diteruskan ke bundled locale-routing proxy. Gunakan ignore untuk mengecualikan path tertentu (misalnya API routes) dari locale routing. |
Semua opsi lainnya (override, configFile, …) diteruskan langsung ke getConfiguration().
Contoh
Abaikan rute API dari routing lokal
Salin kode ke clipboard
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});Dengan jalur file konfigurasi kustom
Salin kode ke clipboard
export default defineConfig({ plugins: [ intlayer({ configFile: "./config/intlayer.config.ts", }), ],});Dengan pemanggil compat-adapter
Salin kode ke clipboard
import { intlayer } from "vite-intlayer";import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";export default defineConfig({ plugins: [ intlayer({ compatCallers: [reactI18nextCallerConfig], }), ],});Apa yang dilakukan plugin ini
1. Persiapan Kamus
Sebelum build dimulai (dan sekali per jam dalam dev), intlayer memanggil prepareIntlayer untuk mengompilasi semua file .content.ts menjadi kamus JSON yang dioptimalkan disimpan di .intlayer/.
2. Alias modul
Plugin menambahkan Vite resolve aliases sehingga import { myDict } from 'intlayer/dictionaries/my-dict' mengarah ke file JSON yang sudah dikompilasi di disk. SSR builds menggunakan ssr.noExternal untuk memastikan semua paket @intlayer/* dibundle dengan aliases yang diterapkan.
3. Dev-server watcher
Dalam mode pengembangan, sebuah chokidar watcher dimulai. Ketika file .content.ts berubah, kamus-kamus dikompilasi ulang dan HMR Vite menyebarkan pembaruan ke browser.
4. Bundled locale-routing proxy (v9+)
Sejak Intlayer v9 middleware intlayerProxy didaftarkan secara otomatis di dalam intlayer(). Ini menangani:
- Deteksi locale dari prefiks URL, cookies, dan header
Accept-Language. - 301 redirects ketika locale yang terdeteksi tidak cocok dengan URL saat ini.
- Internal URL rewrites sehingga framework melihat parameter rute
[locale]yang benar.
Proxy dikendalikan oleh routing.enableProxy (default true) dalam konfigurasi Intlayer Anda. Untuk menonaktifkannya sepenuhnya:
Salin kode ke clipboard
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});Untuk menyesuaikan perilaku proxy tanpa panggilan intlayerProxy() terpisah, teruskan opsi proxy ke plugin utama:
Salin kode ke clipboard
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });Lihat dokumentasi intlayerProxy untuk referensi perilaku routing lengkap.
5. Bundled compiler (v9+)
Ketika compiler.enabled adalah true dan compiler.output diatur dalam konfigurasi Intlayer Anda, intlayer() mendaftarkan intlayerCompiler secara otomatis. Compiler mengekstrak deklarasi konten inline yang ditulis langsung di dalam file komponen dan menulis konten tersebut ke dalam kamus saat transform time. Lihat dokumentasi intlayerCompiler.
6. Optimisasi Build
Selama build produksi, plugin menambahkan:
- intlayerOptimize – transformasi Babel yang menulis ulang
useIntlayer('key')→useDictionary(hash)dan menyuntikkan impor JSON langsung. - intlayerPrune – menghapus bidang konten yang tidak digunakan dari JSON kamus.
- intlayerMinify – mengompresi JSON kamus dan secara opsional mengubah nama bidang.
Ini tidak aktif dalam mode pengembangan.
Alias yang Sudah Usang
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Ekspor yang Sudah Usang | Pengganti |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |