繁体   English   中英

使用 Heroku 部署 React 应用程序 + Node 服务器

[英]Deploy a React app + Node server with Heroku

我想部署一个项目(React 应用程序 + 节点服务器),但我是部署新手,

我想知道:我需要在 Github 存储库中拥有 React 应用程序,在另一个存储库中拥有 Node 服务器,还是可以将所有应用程序都部署在一个存储库中?

目前,我有 1 个 Github 存储库,其中包含一个文件夹“前端”和另一个“后端”,

我想让我的 React 应用程序位于 -> nameofmyapp.herokuapp.com 和 Node 服务器 -> api-nameofmyapp.herokuapp.com,

如果有人有想法...谢谢

虽然理论上这不是问题,但我建议可能考虑将事情保留在一个域上,原因是额外的延迟和连接问题以及您面临的路径问题。 在我看来,理想情况下,您只想使用“后端”或类似名称作为应用程序名称的前缀,在这种情况下,我只会考虑在我控制的域上设置子域,即 mydomain.com 和backend.mydomain.com。 在 Heroku 上开发时,这个模型可能会被证明是棘手的,因为每个“站点”或应用程序都是独立的,并且实际上并不打算在它们绝对可以的情况下一起工作。 考虑在您的应用程序上为“后端”设置单独的路由和端点,类似于您的前端登录,然后当您完成应用程序开发并且很高兴您可以注册您的域名并将其指向您的应用程序并指向一个子域,即后端.mysite.com 或 login.mysite.com 到您在 Heroku 上的端点,即 mysite.com/backend。 除非您有特定原因将它们分离到具有单独源代码控制和 url 的自己的存储库中,否则可能会使调试变得更加困难。 如果我错过了你的观点,我深表歉意。 大多数网络托管公司应该允许您免费或收费注册子域或虚拟域,因为您拥有主域。 只是一些考虑。

一切皆有可能,你只需要了解事情是如何运作的……我的建议是,你从简单开始,并拥有一个包含 front+back 的单个 repo,然后你可以将它部署为单个 heroku 应用程序。

一个应用程序只能有一个唯一的 heroku url,所以你不能让你提到的nameofmyapp + api-nameofmyapp由单个 heroku 实例托管,这需要由两个不同的实例托管,这意味着来自两个 repos 的代码。

通常对于节点应用程序,您会创建一个由同一应用程序托管的/api路由,因此您的前端在nameofmyapp.herokuapp.com提供服务,而您的 api 在nameofmyapp.herokuapp.com/api提供一些子路由,例如示例nameofmyapp.herokuapp.com/api/items

您应该能够轻松地在网络上找到大量的 node/react/heroku 教程,只需使用它进行试验并了解它们是如何协同工作的。

希望有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM