是否可能有一个Apollo服务器,为同一应用程序服务于React客户端?

问题描述 投票:0回答:1

我是服务器上的Apollo和JS的新手,但不是React,GraphQL等的新手。我试图用一种干净的方法来使服务器使用Apollo来同时服务API和API客户端,它将使用ReactJS和Apollo构建。

我阅读了有关Apollo服务器端渲染的文章。将来我可能对此很感兴趣,但是现在,我只对从一个服务器而不是两个服务器部署一个项目感兴趣。

是否可以干净地进行此操作?有规范的做法吗?它可以使用create-react-app还是不可能?

node.js apollo
1个回答
0
投票

[如果您不进行服务器端渲染,而只想提供CRA内置的单页应用程序(SPA),则可以使用几乎所有HTTP框架甚至不使用HTTP框架来实现。 CRA只是为您构建一些静态内容,您可以使用Express提供这些静态内容(请参阅文档here)。但是,利用Nginx或Apache提供此内容(至少在生产中)通常是better。如果要利用Express或其他HTTP框架来提供文件,则可以为Apollo Server利用适当的integration。如果您使用的是Nginx,则可以使用独立库,假设您不想在HTTP服务器上公开任何其他路由。

在开发中,您不需要在进行更改时就不断地手动重建React应用程序,因此CRA实际上为您运行了为该应用程序提供服务并启用热重载的服务器。由于这是与API服务器不同的服务器,因此通常需要启用proxying your requests to the API

© www.soinside.com 2019 - 2024. All rights reserved.