最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在 Heroku 上部署 MERN 全栈应用

网站源码admin37浏览0评论

在 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...

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

回答如下:
发布评论

评论列表(0)

  1. 暂无评论