在 Heroku 问题上部署平均堆栈应用程序
Posted
技术标签:
【中文标题】在 Heroku 问题上部署平均堆栈应用程序【英文标题】:Deploying Mean Stack Application on Heroku Issue 【发布时间】:2020-03-13 13:35:04 【问题描述】:这是我第一次构建 MEAN 堆栈应用程序,并且是在本地构建的。现在我正试图在heroku上托管它,我想我把它搞砸了。我在这里遇到了不同的问题,他们中的大多数人都说 angular 和 express 都需要在一个应用程序中。我不知道,所以这是我当前的文件夹结构。
Project Root Folder
|
|
|------ Frontend (Angular App)
|
|
|------- Backend (Express App)
我尝试到处搜索,但无法弄清楚我需要对我当前的项目结构进行哪些更改。任何提示或帮助,甚至是指南的链接都将不胜感激。
【问题讨论】:
你在heroku中的错误日志是什么? 如果您想从单个测功机提供服务,Express 应用程序必须将 Angular 应用程序的构建输出作为静态内容提供服务,同时提供客户端使用的 API。 @jonrsharpe 这就是我想要做的。如果可能的话,你能给我指一个教程吗?我真的很感激 后端和前端是两个独立的东西,尽管您可以构建您的 SPA 前端并将内容放在 express 静态文件夹中并可以以这种方式使用它,但您可以将其托管在不同的不同 url 上?其他明智的做法是单独托管它并使用 api url 连接它:) 【参考方案1】:作为单个应用程序托管
-
首先构建 Angular 应用程序
将前端的构建文件夹托管在后端快递应用中为
app.use('*', express.static('Frontend/build/'))
-
在后端的启动脚本中构建 Angular 应用并启动服务器文件(
index.js
)
在服务器文件中使用环境变量中的端口,heroku 会自动为您分配一个指向 dynamos url 的端口
你也关注这个article
【讨论】:
以上是关于在 Heroku 问题上部署平均堆栈应用程序的主要内容,如果未能解决你的问题,请参考以下文章
尝试将带有顺风的 MERN 堆栈部署到 Heroku 时构建失败
Heroku cedar 堆栈上的 Node.js 端口问题