将 React 应用程序部署到 AWS
Posted
技术标签:
【中文标题】将 React 应用程序部署到 AWS【英文标题】:Deploying a React App to AWS 【发布时间】:2018-07-07 04:59:20 【问题描述】:我有一个使用 express/react 的网站,它由两个独立的部分组成。 1- API 应用程序(快速服务器) 2- 网站(反应应用)
我正在摆弄 AWS 来部署我的应用程序并想出了几个选项。到目前为止,API 的最佳选择是使用 Elastic Beanstalk。它运作良好,我没有任何问题。
令人困惑的部分是 React 应用程序。我曾将它部署为 Elastic Beanstalk,并部署为 S3 存储桶。两者都面临一些挑战(S3 更容易)
我想问有没有人遇到过同样的情况并有什么建议?
【问题讨论】:
React 只是一个开发框架 - 归根结底,您提供的是 html、js、css 文件,您可以使用 express 来执行此操作。 嗨 Idan 感谢您的回复。我明白了,但我的问题更多的是最佳实践/建议 您可以通过在您已经设置的服务器中提供它来走得很远。如果您需要扩展,您可以扩展您的服务器。您的应用只是一个简单的文件,其重量可能比您的图片轻得多。 【参考方案1】:根据我的经验,最好(为了更好的可扩展性)为捆绑的 React App 拆分 API 服务器和 CDN。您可以将CloudFront 用作应用程序的CDN,并将EC2 用作API。
【讨论】:
感谢 Dennis,您是如何处理 API 调用的代理的?在 create-react-app 中,将代理添加到 package.json 非常简单。但是在生产中,我让 api 工作的唯一方法是允许 CORS @MoatazWesimy There 是这个问题的一个很好的答案。本质上,您可以对 CF 的起源和行为设置进行大量调整。 @MoatazWesimy 太棒了!如果有帮助,您可以接受答案。答案旁边的复选标记,靠近 0。以上是关于将 React 应用程序部署到 AWS的主要内容,如果未能解决你的问题,请参考以下文章
如何将 express react 应用程序部署到 aws elastic beanstalk?
使用 Amazon AWS 将 React、Node/Express 和 MySQL Web 应用程序部署到 Web 上
AWS Beanstalk CLI 不断部署 react/npm 开发构建
AWS Beanstalk 无法部署 Docker Node(React) 应用程序