SSR в разработке в Inertia
Давайте включим серверный рендер
в режиме разработки. Он отдаёт
готовый HTML ещё до работы
JavaScript в браузере.
Для этого Inertia может вызывать
Node на сервере. В режиме разработки
отдельный SSR-процесс не нужен:
плагин @inertiajs/vite
сам поднимает endpoint для Laravel
и поддерживает HMR, пока крутится
обычный dev-сервер Vite.
Достаточно, чтобы плагин Inertia
стоял в конфиге сборки рядом
с Laravel и Vue. Отдельный файл
ssr.js для разработки
не обязателен: плагин по умолчанию
переиспользует app.js.
Давайте проверим, что вызов
inertia есть в списке
плагинов:
import inertia from '@inertiajs/vite'
import vue from '@vitejs/plugin-vue'
import laravel from 'laravel-vite-plugin'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
laravel({
input: ['resources/js/app.js'],
refresh: true,
}),
vue(),
inertia(),
],
})
Давайте запустим dev-сервер как при обычной работе над UI:
npm run dev
После старта давайте откроем любую страницу и посмотрим исходный код документа: разметка компонента должна быть уже в HTML, а не только в пустом корне приложения.
На локальном сайте отдела Analytics включите SSR в разработке и убедитесь, что при просмотре исходника страницы работника виден готовый HTML заголовка.