ApolloServer3ExpressmiddlewarenotworkingwithReactSSRRouting
创始人
2024-09-09 12:30:41
0
  1. 首先,需要确保你的React SSR应用程序和Apollo Server都在同一个端口上运行,在启动Apollo Server时指定端口号,然后使用Express中间件来将其绑定到应用程序上。示例代码如下:

const express = require('express'); const { ApolloServer } = require('apollo-server-express'); const http = require('http');

const typeDefs = ... // 定义schema const resolvers = ... // 定义resolver

const server = new ApolloServer({ typeDefs, resolvers });

const app = express();

// 将Apollo Server绑定到应用程序上 server.applyMiddleware({ app });

// 将React SSR应用程序的路由和中间件添加到应用程序上 app.use('/', require('./ssrRouter'));

// 创建HTTP服务器并将应用程序绑定到它上面 const httpServer = http.createServer(app); httpServer.listen({ port: 4000 }, () => { console.log(� Server ready at http://localhost:4000${server.graphqlPath}); });

  1. 其次,需要在React SSR应用程序中确保你的路由和Apollo Client在同一个上下文中运行。这可以通过在服务器端创建一个Apollo Client实例并将其传递给React组件的Context中来实现。示例代码如下:

import React from 'react'; import ReactDOMServer from 'react-dom/server'; import { ApolloProvider, ApolloClient, InMemoryCache } from '@apollo/client'; import { StaticRouter } from 'react-router-dom';

const ssrRouter = require('./ssrRouter');

// 初始化Apollo Client实例 const apolloClient = new ApolloClient({ uri: 'http://localhost:4000/graphql', cache: new InMemoryCache() });

// 处理React SSR的请求 function handleRequest(req, res) { const App = ( {ssrRouter} );

const html = ReactDOMServer.renderToString(App);

// 将HTML响应发送给客户端 res.send( React SSR Example

${html}
); }

module.exports = handleRequest;

通过这些步骤,你应该能

相关内容

热门资讯

透视中牌率!德普之星透视辅助软... 透视中牌率!德普之星透视辅助软件下载,智星菠萝可以辅助吗,查到实测(有挂攻略)1、系统规律教程、辅助...
透视透视!红龙poker透视,... 透视透视!红龙poker透视,wepoker透视脚本免费,终于清楚(有挂详情)1、操作简单,无需注册...
透视美元局!wepoker底牌... 透视美元局!wepoker底牌透视脚本下载,wepoker透视脚本,最新研发(有挂教程)1、很好的工...
透视软件!wpk辅助软件多少钱... 透视软件!wpk辅助软件多少钱一个,wpk透视辅助,最新技巧(有挂总结);1、首先打开wpk透视辅助...
透视能赢!智星德州菠萝插件官网... 透视能赢!智星德州菠萝插件官网,aapoker透视脚本下载,终于发现(有挂黑科技)1、进入到智星德州...
透视规律!wpk脚本是什么,h... 透视规律!wpk脚本是什么,hhpoker辅助下载,必看攻略(有挂透明);辅助器中分为三种模型:软件...
透视挂透视!智星菠萝辅助,红龙... 透视挂透视!智星菠萝辅助,红龙poker作弊指令,教程攻略(有挂教学);1)辅助挂:进一步探索辅助透...
透视app!智星菠萝辅助怎么买... 透视app!智星菠萝辅助怎么买,hhpoker辅助器,玩家实测(有挂方法)1、进入游戏-大厅左侧-新...
透视攻略!德普之星有没有挂,h... 透视攻略!德普之星有没有挂,hhpoker透视脚本下载,揭秘真相(有挂技巧);1、下载好辅助软件之后...
透视数据!aapoker透视怎... 透视数据!aapoker透视怎么用,wepoker底牌透视脚本怎样安装,玩家亲测(有挂攻略)1、完成...