【发布时间】:2017-03-30 09:50:07
【问题描述】:
我正在尝试将我的 Node.js Api 部署到 Heroku,但是在我部署它之后,我在 APPNAME.herokuapp.com 上得到了 Cannot GET /
这是我的app.js 文件。
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static(__dirname + '/public'));
app.use('/api', require('./routes/api'));
var server = app.listen(process.env.PORT || 3000, function() {
var port = server.address().port;
console.log("Hello World");
});
当我使用端口 3000 时,这在本地工作,但我觉得问题可能与未配置用于生产的端口有关。
有人知道我做错了什么吗?任何帮助将不胜感激!
【问题讨论】:
-
process.env.PORT 的值是多少?你试过APPNAME.herokuapp.com:3000吗?
-
herokuapp.com:3000 不起作用!我应该设置什么而不是 process.env.PORT?
-
您似乎没有
/的设置路线。您拥有的所有路线都以/api开头,因此请尝试 appname.heroku.com/api -
消息
Cannot GET /实际上是来自 express 的消息,因此您的应用可以正常工作,只是没有为/定义路由 -
或者如果没有定义process.env.PORT,试试appname.heroku.com:3000/api