Javascript Heroku Node.js错误:ReferenceError:未定义服务器

Javascript Heroku Node.js错误:ReferenceError:未定义服务器,javascript,node.js,express,heroku,Javascript,Node.js,Express,Heroku,这是我的appapp.js: var express= require("express"); var app= express(); app.get('/',function(req,res){ console.log(req); res.send("Hello world"); }); app.get('*', function(req, res){ res.send("Nothing to see here.", 404); }); var p

这是我的app
app.js

var express=        require("express");

var app=    express();
app.get('/',function(req,res){
    console.log(req);
    res.send("Hello world");
});

app.get('*', function(req, res){
  res.send("Nothing to see here.", 404);
});

var port=   process.env.PORT || 3000;
app.listen(port,function(){
    var host=   server.address().address;
    var port=   server.address().port;
});
当我在本地运行
nodejs app.js
时,它会按预期工作。我可以转到
localhost:3000
并查看
Hello world
,但当我将此推送到Heroku时,我会在日志中看到:

2016-10-25T03:37:09.449732+00:00 heroku[web.1]: Starting process with command `node app.js`
2016-10-25T03:37:11.207319+00:00 app[web.1]: /app/app.js:47
2016-10-25T03:37:11.207341+00:00 app[web.1]:    var host=   server.address().address;
2016-10-25T03:37:11.207342+00:00 app[web.1]:                                ^
2016-10-25T03:37:11.207343+00:00 app[web.1]: 
2016-10-25T03:37:11.207343+00:00 app[web.1]: ReferenceError: server is not defined
2016-10-25T03:37:11.207344+00:00 app[web.1]:     at Server.<anonymous> (/app/app.js:47:28)
2016-10-25T03:37:11.207345+00:00 app[web.1]:     at Server.g (events.js:291:16)
2016-10-25T03:37:11.207345+00:00 app[web.1]:     at emitNone (events.js:86:13)
2016-10-25T03:37:11.207346+00:00 app[web.1]:     at Server.emit (events.js:185:7)
2016-10-25T03:37:11.207346+00:00 app[web.1]:     at emitListeningNT (net.js:1278:10)
2016-10-25T03:37:11.207347+00:00 app[web.1]:     at _combinedTickCallback (internal/process/next_tick.js:71:11)
2016-10-25T03:37:11.207348+00:00 app[web.1]:     at process._tickCallback (internal/process/next_tick.js:98:9)
2016-10-25T03:37:11.207349+00:00 app[web.1]:     at Module.runMain (module.js:592:11)
2016-10-25T03:37:11.207349+00:00 app[web.1]:     at run (bootstrap_node.js:394:7)
2016-10-25T03:37:11.207350+00:00 app[web.1]:     at startup (bootstrap_node.js:149:9)
2016-10-25T03:37:11.287706+00:00 heroku[web.1]: State changed from starting to crashed
2016-10-25T03:37:11.290415+00:00 heroku[web.1]: Process exited with status 1
2016-10-25T03:37:09.449732+00:00 heroku[web.1]:使用命令'node app.js启动流程`
2016-10-25T03:37:11.207319+00:00应用程序[web.1]:/app/app.js:47
2016-10-25T03:37:11.207341+00:00 app[web.1]:var host=server.address().address;
2016-10-25T03:37:11.207342+00:00应用程序[网站1]:^
2016-10-25T03:37:11.207343+00:00应用程序[网站1]:
2016-10-25T03:37:11.207343+00:00应用程序[web.1]:引用错误:未定义服务器
2016-10-25T03:37:11.207344+00:00应用程序[web.1]:在服务器上。(/app/app.js:47:28)
2016-10-25T03:37:11.207345+00:00应用程序[web.1]:在Server.g上(events.js:291:16)
2016-10-25T03:37:11.207345+00:00应用程序[网站1]:在emitNone(events.js:86:13)
2016-10-25T03:37:11.207346+00:00应用程序[web.1]:在Server.emit(events.js:185:7)
2016-10-25T03:37:11.207346+00:00应用程序[网站1]:在EmitListengint(net.js:1278:10)
2016-10-25T03:37:11.207347+00:00 app[web.1]:at联合tickCallback(内部/流程/下一个勾选js:71:11)
2016-10-25T03:37:11.207348+00:00应用程序[web.1]:在进程中进行回调(内部/进程/下一个进程js:98:9)
2016-10-25T03:37:11.207349+00:00应用程序[网站1]:位于Module.runMain(Module.js:592:11)
2016-10-25T03:37:11.207349+00:00应用程序[web.1]:运行时(bootstrap_node.js:394:7)
2016-10-25T03:37:11.207350+00:00应用程序[web.1]:启动时(bootstrap_node.js:149:9)
2016-10-25T03:37:11.287706+00:00 heroku[web.1]:状态从开始更改为崩溃
2016-10-25T03:37:11.290415+00:00 heroku[web.1]:进程退出,状态为1

这里发生了什么?

这里显示的内容没有定义变量“server”。不知道为什么它在本地工作,但没有理由它应该工作


发布完整的app.js和package.json,这可能有助于我们获得更具体的信息

此处显示的内容没有定义变量“server”。不知道为什么它在本地工作,但没有理由它应该工作


发布完整的app.js和package.json,这可能有助于我们获得更具体的信息

啊,我忘了将
server
变量定义为
app.listen()
函数。啊,我忘了将
server
变量定义为
app.listen()
函数。