如何使用弹性 beantalk 中的 express.js 进行反应构建?

Posted

技术标签:

【中文标题】如何使用弹性 beantalk 中的 express.js 进行反应构建?【英文标题】:How to serve react build with express.js from elastic beanstalk? 【发布时间】:2021-09-18 16:25:41 【问题描述】:

我在让弹性 beantalk 从 Node.js 服务 React 时遇到了一些麻烦。到目前为止我所做的工作在本地工作,但我似乎找不到在弹性 beantalk 中设置路径的方法,以便它服务于反应。

我在根目录中有一个 express app.js 文件,并在根目录的“客户端”文件夹中做出反应。这是我的快速 app.js 代码:

import express from "express";
import path from "path"
import morgan from "morgan"

const app = express();
const __dirname = path.resolve();

/* ---------- App Use ---------- */
app.use(morgan('tiny'))
app.use(express.static(path.join(__dirname, 'client', 'build')));
app.use(function(req, res, next) 
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
    next();
);
/* ---------- App Use ---------- */

app.get('/', (req, res) => 
  res.send('just gonna send it');
);

let PORT = process.env.PORT || 9000
app.listen(PORT, function() 
 console.log("Server started successfully on: " + PORT);
);

当我运行 npm start 时,react 构建正常运行,但在弹性 beantalk 上它只是打印“只是要发送它”,什么也没有。这是路径问题吗?如果是这样,我怎么能用弹性豆茎设置解决这个问题?我非常感谢您对此提供一些反馈和解决方案。非常感谢您。

【问题讨论】:

弹性豆茎更适合docker使用 我坚持使用弹性豆茎先生。但是很好奇,还有哪些其他的 aws 产品会更好用? 对于 react s3 , ec2 对于后端。 【参考方案1】:

设法使它工作。这是一个 .ebextensions 调整以及一些节点 js 设置以及使用 react 生产构建。如果将来有人需要,我已经为它制作了样板:

https://github.com/brianlee1597/elastic_beanstalk-MERN-Boilerplate

^ 上面有 react-node-express。没有数据库。

【讨论】:

以上是关于如何使用弹性 beantalk 中的 express.js 进行反应构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改附加到弹性 beantalk 的负载均衡器

如何在弹性beantalk中将PostgreSQL RDS连接到spring boot?

如何使用 boto 启动具有 rds 资源的弹性 beantalk

如何配置弹性 beantalk 以将 https 与 ACM 证书一起使用?

如何在 AWS EC2 弹性 beantalk 中使用命令

如何修复弹性beantalk实例上的“使用这些代码失败的健康检查:”?