Skip to content

Commit 44acc53

Browse files
committed
minor refactor
1 parent 240fb58 commit 44acc53

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

packages/vike-vue/src/renderer/app.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@ import type { PageContext } from 'vike/types'
66
import { setPageContext } from '../hooks/usePageContext.js'
77
import { objectAssign } from '../utils/objectAssign'
88

9-
async function createVueApp(pageContext: PageContext, ssr: boolean, renderHead = false): Promise<PageContextWithApp> {
10-
const rootComponentRef = ref(markRaw(pageContext.config[renderHead ? 'Head' : 'Page']))
9+
async function createVueApp(
10+
pageContext: PageContext,
11+
ssr: boolean,
12+
rootComponentName: 'Head' | 'Page'
13+
): Promise<PageContextWithApp> {
14+
const rootComponentRef = ref(markRaw(pageContext.config[rootComponentName]))
1115
const layoutRef = ref(markRaw(pageContext.config.Layout))
1216

1317
const PageWithLayout = defineComponent({
1418
render() {
15-
if (!!layoutRef.value && !renderHead) {
19+
if (!!layoutRef.value && rootComponentName === 'Page') {
20+
// Wrap <Page> with <Layout>
1621
return h(layoutRef.value, {}, { default: () => h(rootComponentRef.value) })
1722
} else {
1823
return h(rootComponentRef.value)
@@ -35,7 +40,7 @@ async function createVueApp(pageContext: PageContext, ssr: boolean, renderHead =
3540
}
3641
}
3742
Object.assign(pageContextReactive, pageContext)
38-
rootComponentRef.value = markRaw(pageContext.config[renderHead ? 'Head' : 'Page'])
43+
rootComponentRef.value = markRaw(pageContext.config[rootComponentName])
3944
layoutRef.value = markRaw(pageContext.config.Layout)
4045
await nextTick()
4146
returned = true

packages/vike-vue/src/renderer/onRenderClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const onRenderClient: OnRenderClientAsync = async (pageContext): ReturnType<OnRe
1313

1414
const container = document.getElementById('page-view')!
1515
const ssr = container.innerHTML !== ''
16-
const ctxWithApp = await createVueApp(pageContext, ssr)
16+
const ctxWithApp = await createVueApp(pageContext, ssr, 'Page')
1717
app = ctxWithApp.app
1818

1919
await pageContext.config.onBeforeMountApp?.(ctxWithApp)

packages/vike-vue/src/renderer/onRenderHtml.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const onRenderHtml: OnRenderHtmlAsync = async (pageContext): ReturnType<OnRender
2323

2424
if (!!pageContext.Page) {
2525
// SSR is enabled
26-
const ctxWithApp = await createVueApp(pageContext, true)
26+
const ctxWithApp = await createVueApp(pageContext, true, 'Page')
2727
const { app } = ctxWithApp
2828
pageView = !pageContext.config.stream
2929
? dangerouslySkipEscape(await renderToStringWithErrorHandling(app))
@@ -34,7 +34,7 @@ const onRenderHtml: OnRenderHtmlAsync = async (pageContext): ReturnType<OnRender
3434

3535
let headHtml: ReturnType<typeof dangerouslySkipEscape> | string = ''
3636
if (pageContext.config.Head) {
37-
const { app } = await createVueApp(pageContext, true, true)
37+
const { app } = await createVueApp(pageContext, true, 'Head')
3838
headHtml = dangerouslySkipEscape(await renderToStringWithErrorHandling(app))
3939
}
4040

0 commit comments

Comments
 (0)