For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt, and this page is available as Markdown at /zh/apis/app/runtime/ssr/requestHandler.md.
  • 简体中文
  • createRequestHandler

    用于自定义 Server-Side Rendering 入口返回 requestHandler

    使用

    src/entry.server.tsx
    import {
      renderString,
      createRequestHandler,
      type HandleRequest,
    } from '@modern-js/runtime/ssr/server';
    
    const handleRequest: HandleRequest = async (request, ServerRoot, options) => {
      const body = await renderString(request, <ServerRoot />, options);
    
      return new Response(body, {
        headers: {
          'content-type': 'text/html; charset=utf-8',
        },
      });
    };
    
    export default createRequestHandler(handleRequest);

    函数签名

    export type HandleRequest = (
      request: Request,
      ServerRoot: React.ComponentType
      options: HandleRequestOptions,
    ) => Promise<Response>;
    
    export type RequestHandler = (
      request: Request,
      options: RequestHandlerOptions,
    ) => Promise<Response>;
    
    export type CreateRequestHandler = (
      handleRequest: HandleRequest,
    ) => Promise<RequestHandler>;