Javascript 如何部署React+;NodeJS Express应用程序到AWS?
我有一个React+Webpack/Babel+Node/Express应用程序,我想在AWS上部署它 我是否必须分别部署React和Node/Express?或者它们可以同时部署在一起?1。如果你有两个不同的项目 e、 g.一个React和一个Node/Express API A.您可以分别部署两者Javascript 如何部署React+;NodeJS Express应用程序到AWS?,javascript,node.js,amazon-web-services,reactjs,deployment,Javascript,Node.js,Amazon Web Services,Reactjs,Deployment,我有一个React+Webpack/Babel+Node/Express应用程序,我想在AWS上部署它 我是否必须分别部署React和Node/Express?或者它们可以同时部署在一起?1。如果你有两个不同的项目 e、 g.一个React和一个Node/Express API A.您可以分别部署两者 和() 上的后端(节点API)(推荐)或 另一种选择是在或上同时部署这两个部分。但是,您将错过在S3和CloudFront上托管的好处,即为您的用户提供更快的交付和更便宜的成本。在我看来,
- 和()
- 上的后端(节点API)(推荐)或
- 全部
- 您自己的域名和免费SSL证书只需单击一次
错误重定向(如果您的应用程序使用基于4xx
HTML5历史记录的路由器,则需要重定向)
- 缓存系统
- 和
重定向http到https
用于节点/Express apiapi.domain.com
- React应用程序的
app.domain.com
app.get('/api', cors({ origin: 'https://app.domain.com' }), ...)
2.如果你有一个单一的项目
e、 g.一个包含一些React视图的节点应用程序
您必须在或上部署整个应用程序
注意:如果您有一个包含两个子项目(即React应用程序的文件夹和节点API的另一个文件夹)的单个项目,并且如果两个子项目分开后仍能工作,那么您可以分别部署子项目(请参阅答案的第一部分)
3.在这两种情况下
在部署React部件之前,运行您的。您可以手动(在AWS上部署之前)或自动(在/系统中)执行此操作。如果您使用(CRA)引导应用程序,只需在项目根目录下运行warn build
或npm run build
,然后将“build”文件夹的内容上载到S3存储桶
4.工具
- -使用高级
命令管理S3存储桶和对象aws S3
- -使用
命令管理和部署后端eb
- -用于将文件部署到S3的CLI实用程序
理想情况下,您应该进行单元测试,以防止将错误代码发送到生产环境。(与一起使用,用于浅层渲染)。但是这个世界是不完美的,接收客户端上发生的任何潜在bug都是好事。进入感谢您的回复!在我接受答案之前,有几个问题。无法仅在S3上部署React应用程序?只是好奇为什么建议使用CloudFront。您还可以详细说明在部署到S3之前运行webpack/babel生产构建是什么意思吗?最后,NodeJS和ReactJS实际上必须单独部署吗?目前它们只在一个项目下,但在两个不同的子文件夹中。对不起,与React app+节点API相比,带有React部件的节点应用意味着什么?您好!我更新了我的答案,为您的问题添加了一些答案。谢谢您的详细说明。对于在部署之前运行bundle,您的意思是在部署之前构建bundle.js吗?艾尔