UNPKG

@tanstack/vue-router

Version:

Modern and scalable routing for Vue applications

27 lines (26 loc) 900 B
import * as Vue from "vue"; import { renderToString } from "vue/server-renderer"; //#region src/ssr/renderRouterToString.tsx var renderRouterToString = async ({ router, responseHeaders, App }) => { try { let html = await renderToString(Vue.createSSRApp(App, { router })); router.serverSsr.setRenderFinished(); const injectedHtml = router.serverSsr.takeBufferedHtml(); if (injectedHtml) html = html.replace(`</body>`, () => `${injectedHtml}</body>`); return new Response(`<!DOCTYPE html>${html}`, { status: router.stores.statusCode.get(), headers: responseHeaders }); } catch (error) { console.error("Render to string error:", error); return new Response("Internal Server Error", { status: 500, headers: responseHeaders }); } finally { router.serverSsr?.cleanup(); } }; //#endregion export { renderRouterToString }; //# sourceMappingURL=renderRouterToString.js.map