如何在同一个Heroku应用程序上部署Front and Back node.js?

时间:2018-09-26 12:22:00

标签: node.js reactjs heroku deployment

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

  1. cd应用程序&& npm install&npm start
  2. cd api && npm install&npm start

我基本上启动了前端(应用程序)和后端(API)。 我想在Heroku上部署它,但是要使用免费计划。

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

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

无论使用什么前端框架,请确保构建文件都保存在服务器静态目录中。然后进行路由以加载构建文件(大多数情况下为index.html)。

您的步骤可能是

  • 首先,构建可用于生产环境的前端(在大多数情况下,它将在分发目录中生成index.html)。
  • 将分发目录放置在服务器的公共目录或静态目录中。
  • 在服务器端进行路由并向服务器提供静态文件(主要是index.html)
  • 现在您可以开始将节点服务器放置在heroku中。

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

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