在 Heroku 上部署 MERN 全栈应用

编程入门 行业动态 更新时间:2024-10-03 19:13:40

在 <a href=https://www.elefans.com/category/jswz/34/1771259.html style=Heroku 上部署 MERN 全栈应用"/>

在 Heroku 上部署 MERN 全栈应用

我正在尝试使用 MERN 建立一个电子商务商店,目前有一个节点后端连接到 MongoDB 数据库并为一些端点提供服务以返回一些 JSON 格式的结果。然后我介绍了一个 React 前端应用程序,它代理回

http://localhost:PORT
,接收上述 JSON 数据并显示它。这在本地运行得很好,但那是因为我基本上是使用
run-p
模块运行两个 npm 命令(即使用一个终端同时为客户端和服务器提供服务)。

但是,当我部署到 Heroku 时,我得到的只是部署失败(Heroku 构建日志)!我的目录结构如下

root/
|__ .env
|__ package.json // Contains the start script ::"start": "cd react && npm run build && cd ../ && node server.js"::
|__ server.js // NodeJS file
|__ // ... some other files used by server.js
|__ react/
   |
   |__ package.json // Contains the default scripts created by npx create-react-app
   |__ build/
   |__ src/
   |__ public/

这样的事情在单个 heroku 部署中是否可行,或者我是否需要创建两个 Heroku 应用程序?我看到的所有关于部署全栈应用程序的教程,都倾向于指向 Node 后端服务于

app.get('*', ...)
.

下的静态 React 构建目录

--- 编辑:02-05-2023 ---

我已经更新了我的

index.js
,它托管我的 BE 服务器端点,基本上使用与 React 应用程序不同的端点。因此,React 使用的所有端点都不存在于 BE 中,反之亦然。

例如:

假设我的 React 应用程序有这些路由

/
/contact
/help
。我的 NodeJS 服务器不会提供任何这些服务,而是让它们位于
*
路径下以作为 React 静态文件提供服务。这些工作正常。

但是,我的 NodeJS 服务器是为监听其他一些端点而编写的,我们称它们为

/foo
/bar
,当通过 React 应用程序调用这些端点时,我得到的只是 404...

有人对此有任何解决方案吗?

回答如下:

更多推荐

在 Heroku 上部署 MERN 全栈应用

本文发布于:2024-05-30 16:58:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770721.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Heroku   MERN

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!