Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Inisialisasi dokumen"v9.0.025/6/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
intlayerMinify
intlayerMinify adalah plugin Vite yang meminifikasi file JSON kamus yang dikompilasi selama build produksi. Ini menghapus semua whitespace yang tidak perlu dan, ketika digabungkan dengan intlayerPrune, secara opsional mengganti nama bidang konten menjadi alias alfabet pendek (a, b, c, …) untuk lebih mengurangi ukuran bundel.
Plugin ini sudah disertakan dan dikonfigurasi secara otomatis saat Anda menggunakan intlayer(). Anda hanya perlu mendaftarkannya secara manual jika Anda menyusun plugin stack sendiri.
Penggunaan
Salin kode ke clipboard
// 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), ],});Kondisi aktivasi
intlayerMinify aktif hanya jika ketiga hal berikut bernilai true:
- Perintah Vite adalah
build(bukanserve/ dev). build.optimizebernilaitrue(atauundefined, yang secara default bernilaitrueuntuk build).build.minifybernilaitruedalam konfigurasi Intlayer Anda.
Ini secara otomatis dinonaktifkan ketika editor.enabled bernilai true karena editor memerlukan konten kamus yang lengkap dan dapat dibaca manusia.
Apa yang diminifikasi
Plugin ini menargetkan dua lokasi kamus (seperti yang diselesaikan dari intlayer.system):
dictionariesDir— kamus semua-bahasa statis (misalnya.intlayer/dictionaries/*.json)dynamicDictionariesDir— kamus dinamis per-bahasa
Kamus mode ambil (fetchDictionariesDir) tidak pernah diminifikasi karena disajikan dari API jarak jauh saat runtime menggunakan nama bidang asli mereka. Mengganti nama bidang akan membuat ketidakcocokan antara respons server dan akses properti di sisi klien.
Pengaburan nama bidang (minifikasi properti)
Ketika intlayerPrune telah menganalisis codebase dan mengisi pruneContext.dictionaryKeyToFieldRenameMap, intlayerMinify juga mengganti nama bidang konten menjadi alias pendek. Sebagai contoh:
Salin kode ke clipboard
// sebelum{ "key": "myDict", "content": { "title": "Hello", "description": "World" } }// sesudah (dengan pengaburan){ "key": "myDict", "content": { "a": "Hello", "b": "World" } }Akses properti file sumber yang sesuai diganti namanya oleh proses Babel di dalam intlayerOptimize, sehingga perilaku runtime tidak berubah.
Bidang internal Intlayer (nodeType, translation, dll.) tidak pernah diganti namanya.
Kamus kasus khusus (Edge-cases)
Kamus yang ditandai dalam pruneContext.dictionariesWithEdgeCases (anomali struktural yang terdeteksi selama fase prune) dilewati sepenuhnya — tidak diminifikasi maupun dikaburkan — untuk menghindari pengiriman data yang rusak.
Grup berkualifikasi (koleksi / varian / rekaman meta)
Untuk kamus dengan array qualifierTypes (koleksi, varian, dan rekaman meta), plugin mempertahankan array qualifierTypes dan peta samping meta secara harfiah. Hanya entri content yang nama bidangnya dikaburkan. Kunci komposit (yang digunakan untuk pencocokan selektor saat runtime) tidak pernah disentuh.