@@ -2,8 +2,8 @@ import { createInertiaApp } from '@inertiajs/vue3';
22import createServer from '@inertiajs/vue3/server' ;
33import { renderToString } from '@vue/server-renderer' ;
44import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers' ;
5- import { createSSRApp , h } from 'vue' ;
6- import { route as ziggyRoute } from 'ziggy-js' ;
5+ import { createSSRApp , DefineComponent , h } from 'vue' ;
6+ import { ZiggyVue } from 'ziggy-js' ;
77
88const appName = import . meta. env . VITE_APP_NAME || 'Laravel' ;
99
@@ -12,30 +12,20 @@ createServer((page) =>
1212 page,
1313 render : renderToString ,
1414 title : ( title ) => `${ title } - ${ appName } ` ,
15- resolve : ( name ) => resolvePageComponent ( `./pages/${ name } .vue` , import . meta. glob ( './pages/**/*.vue' ) ) ,
16- setup ( { App, props, plugin } ) {
17- const app = createSSRApp ( { render : ( ) => h ( App , props ) } ) ;
18-
19- // Configure Ziggy for SSR...
20- const ziggyConfig = {
21- ...page . props . ziggy ,
22- location : new URL ( page . props . ziggy . location ) ,
23- } ;
24-
25- // Create route function...
26- const route = ( name : string , params ?: any , absolute ?: boolean ) => ziggyRoute ( name , params , absolute , ziggyConfig ) ;
27-
28- // Make route function available globally...
29- app . config . globalProperties . route = route ;
30-
31- // Make route function available globally for SSR...
32- if ( typeof window === 'undefined' ) {
33- global . route = route ;
34- }
35-
36- app . use ( plugin ) ;
37-
38- return app ;
39- } ,
15+ resolve : resolvePage ,
16+ setup : ( { App, props, plugin } ) =>
17+ createSSRApp ( { render : ( ) => h ( App , props ) } )
18+ . use ( plugin )
19+ . use ( ZiggyVue , {
20+ ...page . props . ziggy ,
21+ location : new URL ( page . props . ziggy . location ) ,
22+ } ) ,
4023 } ) ,
24+ { cluster : true } ,
4125) ;
26+
27+ function resolvePage ( name : string ) {
28+ const pages = import . meta. glob < DefineComponent > ( './pages/**/*.vue' ) ;
29+
30+ return resolvePageComponent < DefineComponent > ( `./pages/${ name } .vue` , pages ) ;
31+ }
0 commit comments