如何在服务器上托管React应用和Node API

3

我有一个网页应用,前端是用reactJs制作的,后端是用nodejs构建的。现在我想把这个应用托管上线,因为我以前没有托管过任何react应用。

所以我的计划是将我的React部分托管在Amazon S3上,将NodeJS API托管在Heroku上。我想知道这种组合是否能完美运行,还是需要尝试其他方法。

请告诉我如何托管这个全栈应用,任何想法都将不胜感激。

谢谢!

2个回答

3
有两种方法:
  1. 您可以在Heroku上托管您的前端。构建React项目并将输出文件夹放置在节点静态文件夹中。
  2. 如果您想使用单独的托管,我建议您使用Netlify作为前端托管。
如果有帮助,请告诉我。

在将React应用程序部署到服务器之前,我们需要使用npm run build创建其生产版本。如果我对代码进行了更改,那么我是否需要再次运行此命令以创建生产版本? - Digvijay
是的。你需要上传输出文件,但好处是可以使用CLI工具自动化构建命令的过程。我建议你观看这个教程:https://www.youtube.com/watch?v=FMhVXOA54x8 - Paras
顺便提一下,Netlify也提供免费的SSL。 - Paras
它是否提供自定义域名支持? - Digvijay
是的,它确实提供自定义域支持。 - Paras
Paras,我快速查看了Netlify。我没有看到任何有关部署单独(React)前端的入门文档。你能指点我阅读什么来开始吗?为什么你推荐使用Netlify而不是Heroku? - Daryl Spitzer

0

S3 是存储服务,所以我不认为这是一个部署 React 应用的好方法。您需要一个具有运行 React 应用程序 Web 服务器的能力的服务器,例如 serve,您的选项可能是 AWS 的 EC2。

您可以在任何地方(服务器)上部署 Nodejs API 和 React 部分,只需确保它们可以完美地连接在一起(从后端成功调用 API)。此外,您还可以尝试使用 NGINX 作为反向代理到您的 React 应用程序。

参考资料:CreateReactApp Deployment


1
是的,S3是一项存储服务,但我们也可以在S3上部署静态Web应用程序。它提供了一种部署Web应用程序的静态内容的选项。 - Digvijay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接