Skip to main content
Bạn đang xem tài liệu Inertia.js v2. Inertia.js v3 đã được phát hành và hiện là phiên bản mặc định. Hãy xem hướng dẫn nâng cấp để bắt đầu.
Code splitting chia các trang khác nhau của ứng dụng thành những bundle nhỏ hơn, sau đó chỉ tải theo nhu cầu khi người dùng truy cập trang mới. Điều này có thể giảm đáng kể kích thước JavaScript bundle ban đầu mà trình duyệt phải tải, qua đó cải thiện thời gian render đầu tiên. Mặc dù code splitting hữu ích cho các project rất lớn, nó cũng tạo thêm request khi truy cập trang mới. Nhìn chung, nếu có thể dùng một bundle duy nhất, ứng dụng thường sẽ cho cảm giác phản hồi nhanh hơn. Để bật code splitting, bạn cần điều chỉnh callback resolve trong cấu hình createInertiaApp(). Cách thực hiện khác nhau tùy bundler đang sử dụng.

Sử dụng Vite

Vite mặc định bật code splitting (hay cách họ gọi là lazy-loading) khi dùng hàm import.meta.glob(). Vì vậy, chỉ cần bỏ tùy chọn { eager: true }, hoặc đặt nó thành false, để tắt eager loading.

Sử dụng Webpack

Để dùng code splitting với Webpack, trước tiên bạn cần bật dynamic imports thông qua một Babel plugin. Hãy cài plugin này.
Tiếp theo, tạo file .babelrc trong project với cấu hình sau:
Nếu dùng Laravel Mix, Babel plugin cho dynamic import đã được cài và cấu hình sẵn, nên bạn có thể bỏ qua các bước này. Chúng tôi khuyến nghị Laravel Mix 6 trở lên vì các phiên bản cũ có một số vấn đề đã biết. Cuối cùng, cập nhật callback resolve trong code khởi tạo ứng dụng để dùng import thay cho require.
Bạn cũng nên cân nhắc cache busting để buộc trình duyệt tải phiên bản asset mới nhất. Để làm vậy, hãy thêm cấu hình sau vào file cấu hình webpack.

Tài liệu chính thức

Bài dịch này được đối chiếu từ tài liệu Inertia.js v2 chính thức. Nếu có khác biệt do phiên bản hoặc cập nhật mới, hãy ưu tiên tài liệu chính thức làm nguồn tham chiếu.