Files
SnowLuma/.pnpm-store/v11/files/91/5f7cf464aec0ce7265a5d014b2e73812e8bd1bf73603556981a33eb9e64243d43a48631e5981d9c7b615afaf9ebc267b52d1cd7d8bd9cf54ba50dc95a21c44
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

28 lines
1022 B
Plaintext

const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
let react_dom_server = require("react-dom/server");
react_dom_server = require_runtime.__toESM(react_dom_server);
//#region src/ssr/renderRouterToString.tsx
var renderRouterToString = async ({ router, responseHeaders, children }) => {
try {
let html = react_dom_server.default.renderToString(children);
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
exports.renderRouterToString = renderRouterToString;
//# sourceMappingURL=renderRouterToString.cjs.map