切换到使用renderToReadableStream渲染根组件。
This commit is contained in:
		| @@ -1,7 +1,7 @@ | ||||
| import Elysia from 'elysia'; | ||||
| import { connect } from 'elysia-connect-middleware'; | ||||
| import { createElement } from 'react'; | ||||
| import { renderToString } from 'react-dom/server'; | ||||
| import { renderToReadableStream } from 'react-dom/server'; | ||||
| import { createServer } from 'vite'; | ||||
| import { App } from './src/App'; | ||||
|  | ||||
| @@ -23,13 +23,14 @@ app.use(connect(vite.middlewares)); | ||||
| app.get('/', async ({ request }) => { | ||||
|   const url = request.url.replace(base, ''); | ||||
|   const app = createElement(App); | ||||
|   const rootComponent = await renderToString(app); | ||||
|   const rootComponent = await renderToReadableStream(app); | ||||
|   const rootComponentString = await Bun.readableStreamToText(rootComponent); | ||||
|  | ||||
|   if (!isProduction) { | ||||
|     template = await vite.transformIndexHtml(url, template); | ||||
|   } | ||||
|  | ||||
|   const html = template.replace(`<!--ssr-outlet-->`, () => rootComponent); | ||||
|   const html = template.replace(`<!--ssr-outlet-->`, () => rootComponentString); | ||||
|  | ||||
|   return new Response(html, { | ||||
|     headers: { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user