はじめに
下記記事でDockerで作成した開発環境の中でSSRを導入する。
前提条件は一緒
- 
SSRに必要な追加の依存関係をインストールする必要がある。
npm install @vue/server-renderercomposer require inertiajs/inertia-laravel - 
SSRエントリポイントとして機能するファイルを作成する。(resource/js/ssr.js)
import { createInertiaApp } from '@inertiajs/vue3' import createServer from '@inertiajs/vue3/server' import { renderToString } from '@vue/server-renderer' import { createSSRApp, h } from 'vue' createServer(page => createInertiaApp({ page, render: renderToString, resolve: name => { const pages = import.meta.glob('./Pages/**/*.vue', { eager: true }) return pages[`./Pages/${name}.vue`] }, setup({ App, props, plugin }) { return createSSRApp({ render: () => h(App, props), }).use(plugin) }, }), ) - 
viteの設定を更新
 
export default defineConfig({
	plugins: [
		laravel({
			input: ['resources/css/app.css', 'resources/js/app.js'],
			ssr: 'resources/js/ssr.js',
			refresh: true,
		}),
		// ...
	],
})
- npmスクリプトを更新する
 
"scripts": { 
	"dev": "vite",
	"build": "vite build && vite build --ssr"
},
- Build
 
npm run build
- SSRサーバーの実行
 
php artisan inertia:start-ssr