Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Lịch sử phiên bản
- "Khởi tạo tài liệu"v9.0.025/6/2026
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
intlayerMinify
intlayerMinify là một plugin Vite nén các tệp JSON từ điển đã biên dịch trong quá trình build production. Nó loại bỏ tất cả khoảng trắng không cần thiết và khi kết hợp với intlayerPrune, có thể tùy chọn đổi tên các trường nội dung thành các bí danh ngắn (a, b, c, …) để giảm thiểu hơn nữa kích thước gói bundle.
Plugin này đã được tích hợp và cấu hình tự động khi bạn sử dụng intlayer(). Bạn chỉ cần tự đăng ký thủ công nếu đang tự thiết lập cấu trúc plugin của riêng mình.
Cách sử dụng
Sao chép mã vào clipboard
Điều kiện kích hoạt
intlayerMinify chỉ hoạt động khi và chỉ khi cả ba điều kiện sau đều đúng:
- Lệnh Vite chạy là
build(không phảiserve/ dev). - Tùy chọn
build.optimizelàtrue(hoặcundefined, mặc định sẽ làtrueđối với tiến trình build). - Tùy chọn
build.minifyđược đặt làtruetrong cấu hình Intlayer của bạn.
Khi editor.enabled là true, plugin vẫn chạy nhưng bỏ qua bước đổi tên trường: việc đổi tên viết lại các khóa nội dung mà trình thông dịch duyệt qua, khiến keyPath mà trình soạn thảo trực quan nhận được sẽ không còn khớp với các từ điển chưa hợp nhất mà nó đang chỉnh sửa. Việc nén khoảng trắng và loại bỏ metadata cấp cao nhất vẫn được giữ nguyên.
Những gì được nén
Plugin nhắm vào hai vị trí từ điển (được phân giải từ intlayer.system):
dictionariesDir— các từ điển tĩnh cho tất cả các locale (ví dụ:.intlayer/dictionaries/*.json)dynamicDictionariesDir— các từ điển động cho mỗi locale
Các từ điển sử dụng chế độ fetch (fetchDictionariesDir) sẽ không bao giờ bị nén vì chúng được cung cấp từ một API từ xa tại thời điểm chạy bằng cách sử dụng các tên trường gốc. Việc đổi tên các trường sẽ tạo ra sự không khớp giữa phản hồi của máy chủ và các thuộc tính được truy cập phía client.
Mã hóa tên trường (Thu nhỏ thuộc tính)
Khi intlayerPrune đã phân tích mã nguồn và cập nhật dữ liệu cho pruneContext.dictionaryKeyToFieldRenameMap, intlayerMinify cũng đổi tên các trường nội dung thành các bí danh ngắn. Ví dụ:
Sao chép mã vào clipboard
Các thuộc tính truy cập trong tệp nguồn tương ứng được đổi tên bằng bước xử lý Babel bên trong intlayerOptimize, do đó hành vi runtime không bị thay đổi.
Các trường nội bộ của Intlayer (nodeType, translation, v.v.) không bao giờ bị đổi tên.
Các từ điển trường hợp đặc biệt (Edge-cases)
Các từ điển được gắn cờ trong pruneContext.dictionariesWithEdgeCases (phát hiện bất thường về cấu trúc trong giai đoạn prune) sẽ được bỏ qua hoàn toàn — không nén hay mã hóa — để tránh gửi dữ liệu bị hỏng.
Nhóm đủ điều kiện (Bộ sưu tập / Biến thể / Bản ghi meta)
Đối với các từ điển có mảng qualifierTypes (bộ sưu tập, biến thể và bản ghi meta), plugin giữ nguyên mảng qualifierTypes và bản đồ phụ meta một cách nguyên văn. Chỉ có các mục nhập content bị mã hóa tên trường. Các khóa phức hợp (được sử dụng để đối sánh bộ chọn tại thời điểm chạy) không bao giờ bị can thiệp.
