export { render } // See https://vite-plugin-ssr.com/data-fetching export const passToClient = ['pageProps', 'urlPathname'] import ReactDOMServer from 'react-dom/server' import { PageShell } from './PageShell' import { escapeInject, dangerouslySkipEscape } from 'vite-plugin-ssr/server' import logoUrl from './logo.svg' import type { PageContextServer } from './types' async function render(pageContext: PageContextServer) { const { Page, pageProps } = pageContext // This render() hook only supports SSR, see https://vite-plugin-ssr.com/render-modes for how to modify render() to support SPA if (!Page) throw new Error('My render() hook expects pageContext.Page to be defined') const pageHtml = ReactDOMServer.renderToString( ) // See https://vite-plugin-ssr.com/head const { documentProps } = pageContext.exports const title = (documentProps && documentProps.title) || 'Vite SSR app' const desc = (documentProps && documentProps.description) || 'App using Vite + vite-plugin-ssr' const documentHtml = escapeInject` ${title}
${dangerouslySkipEscape(pageHtml)}
` return { documentHtml, pageContext: { // We can add some `pageContext` here, which is useful if we want to do page redirection https://vite-plugin-ssr.com/page-redirection } } }