如何服务于解耦的React前端



所以我正在使用React创建一个多平台应用程序&春天(Java)

我想让Spring后端成为一个REST web服务,可以被React- native和React前端调用。

我目前有我的项目分为3个子项目:后端(Spring), webapp-frontend (React webapp),移动前端(React native)

我的问题是我应该如何实际服务于React webapp前端。我将有一个服务器上的web服务的某个地方,以便React代码可以击中它使API调用,但就服务于React web应用程序,它会更好地做服务它与相同的后端服务器,或者它会更好地使一个独立的前端服务器像express?还有,还有其他选择吗?

使用express或与REST后端相同的服务器来服务react webapp都是有效的选项。我想说,如果没有特殊的原因选择express,那么将express与spring后端放在同一台服务器上是您的最佳选择。

回想一下,前端和后端仍然是解耦的,只能通过Rest接口通信,所以扩展后端服务器来托管React -webapp应该很简单,这里有一个可能有用的例子:React,Spring,Rest示例

然而,我看到有几个参数可以让你选择一个单独的服务器然后REST后端,例如:

  • 隔离重启和故障。如果您希望能够在不影响REST后端的情况下仅重新启动您的响应前端,那么您可能希望在不同的服务器上运行它们。另一件需要考虑的事情是,如果你期望后端需要大规模扩展,并且需要在多个服务器上复制后端,那么如果前端运行在自己的单独服务器上,这可能更容易做到。

  • JavaScript (React)的服务器端渲染可以通过node.js服务器,如express,但我不认为这是可能的与Spring服务器。

还有,还有其他的选择吗?

其他选项则表示/Spring, Yes。其他的选择,然后在后台服务器或在自己的服务器上托管前端?没有

这两种选择都有利弊,哪一种最好取决于你的需要。

最新更新