[英]How can we get Relay to work in production with NextJS?
我有一个使用 Relay 的 NextJS 项目。 我让它在开发中运行良好,但是当我构建时,它正在构建静态页面并试图访问我的 GraphQL 服务器(在开发中它指向 https://localhost:3000/api/graphql),但我没有不想要它,因为它应该是一个动态页面。
有了这个,我似乎也无法让 SSR 与 Relay 一起工作,因为 Relay 中的很多功能都需要钩子,而且我们不能在非 React 组件(如 getServerSideProps())中使用钩子。 我已经在 getServerSideProps 中使用来自 Relay 的 loadQuery 但现在我的问题是我需要以某种方式获取 Relay 环境,但同样不能在那里使用 getRelayEnvironment() 。 我从 createRelayEnvironment 文件中导入它,但是我没有使用我的应用程序的环境(我的应用程序根目录中的 RelayEnvironmentProvider)。
有人在 NextJS 中使用 Relay 成功了吗?
我不知道我是怎么错过的,但我跟着NextJS 在 GitHub 上使用 Relay Modern 的例子。
我没有做同样的事情 - 例如,我没有 .babelrc 文件,因为该信息在 next.config.js 文件中(感谢NextJS 12.1 )。
我从这里真正使用的是他们如何在他们的relay.js 文件中启动和使用中继。 然后我在我的页面中的getServerSideProps
函数中使用它,就像他们在index.js 文件中所做的那样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.