【问题标题】:Node.Js app cannot be deployed to Heroku successfullyNode.Js 应用无法成功部署到 Heroku
【发布时间】:2019-01-07 18:16:07
【问题描述】:
tutorial 有一个可以运行的聊天应用程序。你可以在GitHub找到聊天应用。
我正在尝试将 git 代码部署到 Heroku,但没有成功。
GitHub 分离为客户端/服务器架构,因此需要启动节点服务器和ng serve 到客户端。我需要2个测功机吗?我需要编辑 Procfile 吗?服务器使用的是 process.env.PORT,但客户端是硬编码的。
我对 Heroku 和 Node.js 很陌生,所以任何帮助对我来说都很有意义。
【问题讨论】:
标签:
node.js
heroku
deployment
web-deployment
【解决方案1】:
您询问的 GitHub 项目非常复杂,并且似乎没有 Heroku 部署说明,在不了解该项目的情况下很难为您提供任何具体的解决方案,但我会尝试一般性地回答通常会部署应用程序,希望它能帮助您解决问题。
对于这样的应用程序,通常将后端和前端部分分开并单独部署和托管,如果您想在 Heroku 上托管两者,则可以作为两个单独的 dyno,或者例如在 Heroku 上托管后端部分,在 Netlify 或类似服务上托管前端部分。
另一种选择可能是让后端服务于前端,例如在/ 路径上,同时将所有后端端点作为/api/* 或类似的东西(或在不同的端口上,但这在Heroku 上是不可能的)。将它放在相同的主机和端口上,但使用 api 前缀具有简化 CORS 相关事务的优点,因为来源相同,因此不会出现跨域问题。
如果您使用的是 WebSockets,那么它会稍微复杂一些 - 请务必阅读:
但无论哪种方式,您仍然可以将您的前端移动到 Netlify 或类似的东西,如果您愿意,可以将后端保留在 Heroku 上。
这个问题很难给你更具体的答案。我看到你是新来的,所以下次尝试写一个更具体的问题并缩小问题范围,这样你就可以展示一个人们可以实际阅读并帮助你的小代码示例。