【问题标题】:How do I run this node express app on Heroku?如何在 Heroku 上运行这个 node express 应用程序?
【发布时间】:2021-04-16 15:59:17
【问题描述】:

我已经有一个在 Heroku 上运行良好的应用程序,这是我几周前第一次创建的。

这是运行应用程序的 git 存储库 - https://github.com/Sean-99-04/basic

但是,当我尝试运行我最新的应用程序时,它不起作用。它构建良好,但运行时会出现应用程序错误。

这是 git repo - https://github.com/Sean-99-04/History-Blog

我也是通过 GitHub 运行这个,而不是通过 Heroku CLI。

过去 3 小时我一直在网上搜索答案,这里提到了一些我确保将其排除在外的事情:

  • 带有代码“web:node ./server.js”的Procfile
  • package.json 代码为 "script": {"start": "node server.js"}
  • 在 server.js 中,我有 process.env.PORT 和所有其他必要的 process.env

非常感谢您的帮助,并提前感谢您。

这是日志中的错误:

2021-01-11T16:50:16.910561+00:00 应用程序 [web.1]:npm 错误!在 history-blog@1.0.0 启动脚本失败。

2021-01-11T16:50:16.910689+00:00 应用程序 [web.1]:npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。

2021-01-11T16:50:16.915638+00:00 应用[web.1]:

2021-01-11T16:50:16.915831+00:00 应用程序 [web.1]:npm 错误!可以在以下位置找到此运行的完整日志:

2021-01-11T16:50:16.915958+00:00 应用程序 [web.1]:npm 错误! /app/.npm/_logs/2021-01-11T16_50_16_911Z-debug.log

2021-01-11T16:50:16.988688+00:00 heroku[web.1]:进程以状态 1 退出

2021-01-11T16:50:17.025320+00:00 heroku[web.1]:状态从开始变为崩溃

2021-01-11T16:50:17.966848+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=history-blog.herokuapp.com request_id=f274158b-5399-49ab-97d9-5a83bb387a13 fwd="95.147.237.100" dyno= connect= service= status=503 bytes= protocol=https

【问题讨论】:

  • 错误是什么?
  • 刚刚编辑的原始评论有错误。
  • 在这之前还有什么事情吗?您可以尝试将您的 Procfile 更改为 web: npm start --loglevel silly 以获得更多日志输出。
  • 澄清一下。您是要我更改 web:node ./server.js 为web: npm start --loglevel silly 还是添加?
  • 是的,如果可以的话。这会给你更多的日志输出。

标签: node.js express heroku


【解决方案1】:

如 cmets 中所述,失败是由于尝试加载 dotenv 造成的。尽管 Heroku 的默认 NODE_ENV 为 production,但发生这种情况的原因是您在检查中进行了分配,它返回字符串 development,这是真的——所以它被加载了。

你有什么:if ((process.env.NODE_ENV = "development")) {

你想要什么:if (process.env.NODE_ENV === "development") {

【讨论】:

  • 一个接一个的问题。所以不幸的是,我在保存时更漂亮的扩展,添加了这些括号。我想我会想办法改变它的一些其他时间。谢谢你的建议。
  • 问题不在于括号,而在于单个 = 而不是 == 或 ===。 Prettier 添加了这些额外的括号以试图更清楚地表明您在条件中分配而不是检查 process.env.NODE_ENV 是什么。 See this issue 了解详情。
  • 哦,我的脑袋太小了哈哈。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 2012-06-28
  • 2019-06-15
  • 2012-08-02
  • 1970-01-01
  • 2018-09-25
  • 2023-03-18
相关资源
最近更新 更多