Laravel Starter Kit
Nếu đang dùng Laravel Breeze hoặc Jetstream, bạn có thể cài scaffold của starter kit với hỗ trợ Inertia SSR được cấu hình sẵn bằng flag--ssr.
Cài đặt dependency
Nếu không dùng Laravel starter kit và muốn cấu hình SSR thủ công, trước tiên chúng ta sẽ cài các dependency bổ sung cần cho server-side rendering. Bước này chỉ cần thiết với adapter Vue, vì vậy bạn có thể bỏ qua nếu dùng React hoặc Svelte.Thêm entry point phía máy chủ
Tiếp theo, chúng ta sẽ tạo fileresources/js/ssr.js trong dự án Laravel để làm entry point cho SSR.
resources/js/app.js, ngoại trừ việc nó không chạy trong trình duyệt mà chạy trong Node.js. Sau đây là ví dụ hoàn chỉnh.
app.js nhưng phù hợp để chạy ở chế độ SSR, chẳng hạn plugin hoặc custom mixin.
Thiết lập Vite
Tiếp theo, chúng ta cần cập nhật cấu hình Vite để build filessr.js mới. Có thể thực hiện bằng cách thêm thuộc tính ssr vào cấu hình Vite plugin của Laravel trong file vite.config.js.
Cập nhật script Npm
Tiếp theo, hãy cập nhật scriptbuild trong file package.json để build cả file ssr.js mới.
Chạy SSR server
Sau khi đã build cả bundle phía client và phía máy chủ, bạn có thể chạy Inertia SSR server dựa trên Node bằng command sau.Hydration phía client
Triển khai
Khi triển khai ứng dụng có SSR lên production, bạn cần build cả bundle phía client (app.js) và phía máy chủ (ssr.js), sau đó chạy SSR server như một background process, thường thông qua công cụ giám sát tiến trình như Supervisor.
inertia:stop-ssr. Công cụ giám sát tiến trình (như Supervisor) cần chịu trách nhiệm tự động khởi động lại SSR server sau khi nó dừng.
Laravel Forge
Để chạy SSR server trên Forge, bạn nên tạo một daemon mới chạyphp artisan inertia:start-ssr từ thư mục gốc ứng dụng. Hoặc bạn có thể dùng tích hợp Inertia có sẵn trong dashboard quản lý ứng dụng Forge.
Sau đó, mỗi lần triển khai ứng dụng, bạn có thể tự động restart SSR server bằng command php artisan inertia:stop-ssr. Command này dừng SSR server hiện tại, buộc công cụ giám sát tiến trình khởi động một server mới.
Heroku
Để chạy SSR server trên Heroku, hãy cập nhật cấu hìnhweb trong Procfile để chạy SSR server trước khi khởi động web server.
heroku/nodejs bên cạnh heroku/php để SSR server có thể chạy.