Node.js Heroku不能/得到

Node.js Heroku不能/得到,node.js,heroku,Node.js,Heroku,我正在尝试将Node.js Api部署到Heroku,但部署后,我在APPNAME.herokuapp.com 这是我的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.u

我正在尝试将Node.js Api部署到Heroku,但部署后,我在
APPNAME.herokuapp.com

这是我的
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时,这在本地工作,但我觉得问题可能与未配置用于生产的端口有关


有人知道我做错了什么吗?任何帮助都将不胜感激

在server.js中添加这两行对我很有用:

var distDir=uu dirname+“/dist/”;
应用程序使用(快速静态(distDir))

我的地区结构如下:


在server.js中添加这两行对我来说很有用:

var distDir=uu dirname+“/dist/”;
应用程序使用(快速静态(distDir))

我的地区结构如下:


您需要有一个索引路由
应用程序。get(“/”)。

Heroku将查找要显示的索引路由,一旦找不到,它将显示错误消息
无法获取/
,这意味着它无法获取索引路由
“/”
。在您的代码中,似乎有
app.use('/api',require('./routes/api')。我假设你打算把它作为你的索引页,但它不是这样工作的。索引页面只是仰泳
“/”

你需要有一个索引路线
应用程序。get(“/”)。

Heroku将查找要显示的索引路由,一旦找不到,它将显示错误消息
无法获取/
,这意味着它无法获取索引路由
“/”
。在您的代码中,似乎有
app.use('/api',require('./routes/api')。我假设你打算把它作为你的索引页,但它不是这样工作的。索引页只是仰泳
“/”

process.env.PORT的值是多少?你试过APPNAME.herokuapp.com:3000吗?herokuapp.com:3000不行!我应该设置什么来代替process.env.PORT?您似乎没有
/
的设置路径。您拥有的所有路由都以
/api
开始,因此请尝试appname.heroku.com/api消息
无法获取/
实际上是来自express的消息,因此您的应用程序可以工作,只是没有为
/
定义路由,或者如果未定义process.env.PORT,请尝试appname.heroku.com:3000/apis process.env.PORT的值是多少?你试过APPNAME.herokuapp.com:3000吗?herokuapp.com:3000不行!我应该设置什么来代替process.env.PORT?您似乎没有
/
的设置路径。您拥有的所有路由都以
/api
开始,因此请尝试appname.heroku.com/api消息
无法获取/
实际上是来自express的消息,因此您的应用程序可以正常工作,只是没有为
/
定义路由,或者如果未定义process.env.PORT,请尝试appname.heroku.com:3000/api