首页 > 解决方案 > 如何使用弹性 beantalk 中的 express.js 进行反应构建?

问题描述

我在让弹性 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 上它只是打印“只是要发送它”,什么也没有。这是路径问题吗?如果是这样,我怎么能用弹性豆茎设置解决这个问题?我真的很感激对此的一些反馈和解决方案。非常感谢。

标签: node.jsamazon-web-servicesexpressamazon-elastic-beanstalk

解决方案


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

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

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


推荐阅读