所以我正在使用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。其他的选择,然后在后台服务器或在自己的服务器上托管前端?没有
这两种选择都有利弊,哪一种最好取决于你的需要。