首页 > 解决方案 > 如何在同一个 Heroku 应用上部署 Front & Back node.js?

问题描述

为了能够运行我的应用程序,我需要在 2 个不同的终端中运行这 2 个命令:

  1. cd app && npm install & npm start
  2. cd api && npm install & npm start

我基本上启动了前端(app)和后端(api)。我想在 Heroku 上部署它,但使用免费计划。

有没有办法做到这一点?我需要在根文件夹上创建一个 package.json 文件吗?如果是,里面应该是什么?无论我写什么,它似乎只跑前面,从不跑后面。

非常感谢!

标签: node.jsreactjsherokudeployment

解决方案


您需要构建前端,然后从服务器端提供服务。

无论您使用什么前端框架,请确保构建文件保存在服务器静态目录中。然后创建一个路径来加载构建文件(大多数情况下是 index.html)。

你的步骤可能是

  • 首先,构建生产就绪的前端(在大多数情况下,它将在分发目录中生成 index.html)。
  • 将分发目录放在您的服务器公共或静态目录中。
  • 在您的服务器端制作路由并将静态文件(主要是 index.html)
  • 现在你准备好了,把节点服务器放到heroku。

    例如,您的最终路线可能是

    app.get("*", (req, res) => { res.sendFile("静态 index.html 文件路径"); })


推荐阅读