将Node.js RestFull API部署到Heroku

时间:2017-12-06 15:57:06

标签: node.js rest api heroku deployment

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

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

服务器正在侦听端口3000。

当我向127.0.0.1:3000

发送帖子请求时,代码完美无缺

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

有没有人有想法?

服务器是这样创建的:

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

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

1 个答案:

答案 0 :(得分:1)

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

const port = process.env.PORT || 3000

希望有所帮助!