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.
Sau khi đã cấu hình framework phía máy chủ, bạn cần thiết lập framework phía client. Inertia hiện hỗ trợ React, Vue và Svelte.

Laravel Starter Kit

Các starter kit của Laravel cung cấp scaffold sẵn dùng cho ứng dụng Inertia mới.Đây là cách nhanh nhất để bắt đầu dự án Inertia mới bằng Laravel và Vue hoặc React. Tuy nhiên, nếu muốn cài Inertia thủ công vào ứng dụng, hãy xem tài liệu bên dưới.

Điều kiện tiên quyết

Trước khi cài Inertia, bạn cần cài và cấu hình framework phía client cùng Vite plugin tương ứng. Có thể bỏ qua phần này nếu ứng dụng đã thiết lập sẵn.
Sau đó, thêm plugin của framework vào file vite.config.js.
Để biết thêm về cấu hình các plugin này, hãy xem tài liệu Vite của Laravel.

Cài đặt

1

Install dependencies

Cài adapter phía client của Inertia tương ứng với framework bạn lựa chọn.
2

Initialize the Inertia app

Tiếp theo, cập nhật file JavaScript chính để khởi động ứng dụng Inertia. Để làm việc này, chúng ta sẽ khởi tạo framework phía client với component Inertia cơ sở.
Callback setup nhận mọi thứ cần thiết để khởi tạo framework phía client, bao gồm root component App của Inertia.

Cấu hình giá trị mặc định

Bạn có thể truyền object defaults vào createInertiaApp() để cấu hình giá trị mặc định cho nhiều tính năng. Không cần truyền mặc định cho mọi key, chỉ cần những key bạn muốn điều chỉnh.
Callback visitOptions nhận URL đích và visit options hiện tại, sau đó trả object chứa các option cần ghi đè. Để biết chi tiết các cấu hình có sẵn, xem tài liệu form, prefetchmanual visit.

Cập nhật cấu hình khi runtime

Bạn cũng có thể cập nhật giá trị cấu hình khi runtime bằng instance config được export. Điều này đặc biệt hữu ích khi cần điều chỉnh setting dựa trên preference của người dùng hoặc state ứng dụng.

Resolve component

Callback resolve cho Inertia biết cách tải một page component. Nó nhận tên trang (chuỗi) và trả về module page component. Cách triển khai callback này phụ thuộc vào bundler bạn đang sử dụng (Vite hoặc Webpack).
Mặc định, chúng tôi khuyến nghị eager load component để tạo một JavaScript bundle duy nhất. Nếu muốn lazy-load component, xem tài liệu code splitting. Package laravel-vite-plugin cũng cung cấp helper resolvePageComponent có thể dùng để resolve page component.

Định nghĩa root element

Mặc định, Inertia giả định root template của ứng dụng có root element với idapp. Nếu root element của ứng dụng có id khác, bạn có thể cung cấp nó bằng thuộc tính id.
Nếu thay đổi id của root element, hãy nhớ cập nhật cả phía máy chủ.

Phần tử script cho dữ liệu trang

Mặc định, Inertia lưu dữ liệu trang ban đầu trong attribute data-page trên root element. Bạn có thể cấu hình Inertia dùng phần tử <script type="application/json"> thay thế; cách này nhanh hơn một chút và dễ kiểm tra hơn trong devtools của trình duyệt.
Nếu dùng server-side rendering, hãy nhớ cập nhật cả SSR entry point. Người dùng Laravel cũng nên đặt config inertia.use_script_element_for_initial_page thành true để Blade directive @inertia xuất ra phần tử script.

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.