javascript – 如何将ReactJS NodeJS Express应用程序部署到AWS?

前端之家收集整理的这篇文章主要介绍了javascript – 如何将ReactJS NodeJS Express应用程序部署到AWS?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ReactJS NodeJS / ExpressJS Webpack / Babel应用程序,并希望将其部署到AWS上.

我的问题是,我必须分别部署ReactJS和NodeJS / ExpressJS吗?还是可以一起部署在一起?

另外,我的堆栈提到的任何好的指南?看起来,但似乎都是特定的,无论是NodeJS还是ReactJS.最近发现它为https://www.youtube.com/watch?v=WxhFq64FQzA,但我相信它只涵盖了NodeJS / ExpressJS而不是ReactJS.

目前该应用程序是一个项目,包括所有的ReactJS NodeJS / ExpressJS Webpack / Babel.

解决方法

如果你有两个不同的项目

例如一个React single-page app和一个Node / Express API.

一个.你可以部署

> S3CloudFront(tutorial)的前端(React应用)
>后端(Node API)在Elastic Beanstalk(推荐)或EC2

否则,您可以在Elastic BeanstalkEC2上同时部署两个部件.在这样做时,您会错过在S3和CloudFront上托管的好处,即为用户提供更快的交付和更便宜的成本.在我看来,它更容易,更快速,更实用,更不容易出现错误,可以单独更新和部署Web应用程序的客户端和服务器端.

湾为什么S3 CloudFront而不是S3?

>所有the benefits of using a CDN
>您自己的域名和一个免费的SSL证书一键
>重定向4xx错误(如果您的应用程序使用基于HTML5历史记录的路由器,则必需)
>缓存系统
> http2和http到https重定向

C.如何处理CORS?

您可以使用不同的子域,例如

> API的api.domain.com
> app.domain.com的应用程序

然后enable CORS在API中:

app.get('/api',cors({ origin: 'https://app.domain.com' }),...)

2.如果你有一个项目

例如一个Node应用程序,包括一些React视图.

您必须在Elastic BeanstalkEC2部署整个应用程序.

注意:如果您有一个项目,包括两个子项目(即React应用程序的文件夹,另一个用于Node API),并且如果两个子项目在分离时仍然可以工作,那么可以部署子项目,项目分开(见答案的第一部分).

在这两种情况下

在部署React部件之前运行您的Webpack/Babel production build.您可以手动执行(在部署在AWS之前)或自动(在CI/CD系统中).

4.如果不限于AWS

我刚刚回答a related question不限于AWS.

猜你在找的JavaScript相关文章