繁体   English   中英

我们如何使用 NextJS 让 Relay 在生产环境中工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM