【发布时间】:2020-03-29 18:57:30
【问题描述】:
对于上下文,我在我的应用程序上运行 graphql。此应用程序使用 SSR(服务器端渲染),并且这方面的所有调用都运行良好。当客户端点击应用程序时,我会渲染该应用程序,就像任何其他标准 React 应用程序一样:
render(Routes, createClient())
问题是.. 在创建客户端(创建 apolloclient 的地方,它告诉提供者如何连接到外部 graphql 服务器)中,我引用了一个 env 变量。
const serverLocation =
process.env.SERVER_LOCATION || 'http://localhost:8080/graphql
现在,在 SSR 情况下,这在服务器上一切正常,但在客户端上没有 env 变量的概念 - 只是未定义。鉴于此值可以配置并在客户端上实例化,我应该如何填充它?
【问题讨论】:
-
简而言之,您不能在客户端机器上使用环境变量。相反,您需要构建最终提供给客户端的代码,以包含在服务器上设置的这些变量。