Node.js Heroku不能/得到
我正在尝试将Node.js Api部署到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
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