【问题标题】:Deploy Node.js RestFull API to Heroku将 Node.js RestFul API 部署到 Heroku
【发布时间】:2017-12-07 01:02:33
【问题描述】:

我有一个学校作业,我必须构建一个 node.js 服务器(Without Express),它接收包含 {day: 25, month:12, year:2017} 的 POST 请求 并发送到该日期的剩余天数。

我能够使用 moment npm 包 (https://www.npmjs.com/package/moment) 解决这个问题

服务器正在监听 3000 端口。

当我向 127.0.0.1:3000 发送 post 请求时,代码运行良好

但是,我将监听端口更改为 80,在 heroku 上创建了一个新应用程序,然后部署了我的代码,但它不再工作了,heroku 说应用程序崩溃了。

有人有想法吗?

服务器是这样创建的:

var http = require('http');
var moment = require('moment');
moment().format();

var server = http.createServer(function(request, response) {
    ....
});
server.listen(80);

【问题讨论】:

    标签: node.js rest api heroku deployment


    【解决方案1】:

    Heroku 使用 nodeJS 的 process.env。为了确保您的应用程序在 heroku 上运行,您应该设置一个名为 port 的变量,该变量使用端口 3000 / 80 用于本地应用程序和 process.env.PORT 用于 heroku 部署。

    const port = process.env.PORT || 3000
    

    希望有所帮助!

    【讨论】:

    • 你能运行命令 Heroku logs 并在这里分享输出吗?顺便说一句,您是否在 package.json 文件中提供了启动脚本?
    猜你喜欢
    • 2022-01-15
    • 2016-03-11
    • 2020-10-31
    • 1970-01-01
    • 2021-08-29
    • 2021-10-15
    • 2012-10-30
    • 2020-11-30
    • 1970-01-01
    相关资源
    最近更新 更多