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.
Một thách thức phổ biến khi xây dựng ứng dụng một trang là làm mới asset của website khi chúng thay đổi. Inertia giúp việc này đơn giản bằng cách cho phép theo dõi phiên bản hiện tại của asset. Khi asset thay đổi, ở request tiếp theo Inertia sẽ tự động thực hiện một lần tải toàn bộ trang thay vì visit XHR.

Cấu hình

Để bật cơ chế tự động làm mới asset, bạn cần cho Inertia biết phiên bản hiện tại của asset. Đây có thể là bất kỳ chuỗi tùy ý nào (chữ, số hoặc file hash), miễn là giá trị thay đổi khi asset được cập nhật. Thông thường, phiên bản asset của ứng dụng có thể được chỉ định trong phương thức version của middleware Inertia HandleInertiaRequests.
Ngoài ra, bạn có thể cung cấp phiên bản asset thủ công bằng phương thức Inertia::version().

Cache busting

Cơ chế làm mới asset trong Inertia dựa trên giả định rằng một lần hard page visit sẽ khiến asset được tải lại. Tuy nhiên, bản thân Inertia không trực tiếp ép việc này xảy ra. Thông thường bạn cần dùng một kỹ thuật cache busting, chẳng hạn thêm query parameter phiên bản vào cuối URL của asset. Với tích hợp Vite của Laravel, asset versioning được thực hiện tự động. Nếu dùng Laravel Mix, bạn cũng có thể tự động hóa việc này bằng cách bật versioning trong file webpack.mix.js.

Làm mới thủ công

Nếu muốn tự kiểm soát việc refresh asset, bạn có thể trả về một giá trị cố định từ phương thức version trong middleware HandleInertiaRequests. Điều này tắt cơ chế asset versioning tự động của Inertia. Ví dụ, nếu muốn thông báo cho người dùng khi frontend có phiên bản mới, bạn vẫn có thể đưa asset version thực tế lên frontend bằng cách thêm nó vào shared data.
Ở frontend, bạn có thể theo dõi thuộc tính version và hiển thị thông báo khi phát hiện phiên bản mới.

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.