Heroku 中的 Node.js
Posted
技术标签:
【中文标题】Heroku 中的 Node.js【英文标题】:Node.js in Heroku 【发布时间】:2021-06-08 14:21:56 【问题描述】:我在 Heroku 中托管我非常简单的 nodejs 服务器。但是,当我尝试它时,它会返回此错误:
应用程序错误 应用程序发生错误,无法提供您的页面。如果你是应用程序 楼主,查看你的日志了解详情。您可以在 Heroku CLI 中使用命令`
这是server.js
:
const express = require("express");
const cors = require("cors");
const PORT = process.env.PORT || 80;
const server = express();
server.use(cors());
server.get("/", (req, res) =>
const INDEX = "/index.html";
res.sendFile(INDEX, root: __dirname );
);
server.get("/test", (req, res) =>
res.send("test Page");
);
server.listen(PORT, () => console.log(`listening on port $PORT`));
package.json:
"name": "express-heroku",
"version": "1.0.0",
"description": "",
"main": "server.js",
"engines":
"node": "15.11.x"
,
"scripts":
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
,
"author": "",
"license": "ISC",
"dependencies":
"express": "^4.17.1",
"mongoose": "^5.11.19"
,
"devDependencies":
"nodemon": "^2.0.7"
不知道是什么原因,但是,当我在localhost
中尝试这个时,它完美地工作!
Heroku CLI 上的 full 错误:
非常感谢任何帮助!
【问题讨论】:
就像它说的那样,查看日志以获取更多详细信息。如果没有错误消息,将很难调试。 这是我从 Heroku 控制台得到的结果 ->2021-03-10T15:48:28.602246+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=creativity-server.herokuapp.com request_id=bb9535df-ae21-4198-88bc-8ba20c5d092d fwd="157.44.142.5" dyno= connect= service= status=503 bytes= protocol=https 2021-03-10T15:48:29.303442+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=creativity-server.herokuapp.com request_id=5f7a1b87-0fb7-42a0-a04a-3aab5d7b94a4 fwd="157.44.142.5" dyno= connect= service= status=503 bytes= protocol=https
她的头像 -> i.stack.imgur.com/bgxJk.png
你是否正确设置了环境变量?
发现不用声明PORT
***.com/a/52806264/14942924
【参考方案1】:
创建一个 ProcFile:
在 ProcFile 中添加web: node index.js
这样做,您是在告诉 heroku 使用节点运行您的服务器。
【讨论】:
谢谢!但不幸的是,它不起作用!以上是关于Heroku 中的 Node.js的主要内容,如果未能解决你的问题,请参考以下文章