Node.js 我创建了一个在本地工作的节点应用程序。我需要帮助修改server.js,以便它可以在heroku上工作

Node.js 我创建了一个在本地工作的节点应用程序。我需要帮助修改server.js,以便它可以在heroku上工作,node.js,heroku,express,socket.io,port,Node.js,Heroku,Express,Socket.io,Port,我创建了一个在本地工作的节点应用程序。我需要帮助修改下面的server.js,以便它可以在heroku上工作 server.js: var http = require('http'); var session = require('cookie-session'); var port = 9500; var Assets = require('./backend/Assets'); var API = require('./backend/API'); var Default = re

我创建了一个在本地工作的节点应用程序。我需要帮助修改下面的server.js,以便它可以在heroku上工作

server.js:

var http = require('http');
var session = require('cookie-session');
var port = 9500; 
var Assets = require('./backend/Assets'); 
var API = require('./backend/API'); 

var Default = require('./backend/Default');
var Chat = require('./backend/Chat');  
var Router = require('./frontend/js/lib/router')();  

Router 
.add('static', Assets) 
.add('node_modules', Assets) 
.add('tests', Assets) 
.add('api', API) 
.add(Default);  

var checkSession = function(req, res) {
session({     
  keys: ['nodejs-by-example']
})(req, res, function() { 
  process(req, res);  
}); 
}  

var process = function(req, res) { 
  Router.check(req.url, [req, res]); 
}  

var app = http.createServer(checkSession).listen(port, '127.0.0.1'); 
console.log("Listening on 127.0.0.1:" + port);  
Chat(app); 
我试过:

var port = Number(process.env.PORT || 9000); 
但它不起作用。我得到了这个错误:

users-MacBook-Pro-6:project user$ node server
/Users/user/Desktop/project/server.js:3
var port = Number(process.env.PORT || 5000); 
TypeError: Cannot read property 'env' of undefined
    at Object.<anonymous> (/Users/user/Desktop/project/server.js:3:26)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3
users-MacBook-Pro-6:项目用户$node服务器
/Users/user/Desktop/project/server.js:3
变量端口=编号(process.env.port | | 5000);
TypeError:无法读取未定义的属性“env”
反对。(/Users/user/Desktop/project/server.js:3:26)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
启动时(node.js:119:16)
在node.js:906:3

看起来您得到的是一个未定义的流程变量。要进行故障排除,您应该执行一个
console.dir(process)
,它将打印出流程变量上的所有内容,包括您的环境变量

您也可以尝试这样做-
heroku config:set NODE_ENV=production
per

可能是

更新

要进一步排除故障,您需要安装-

heroku插件:创建书面记录

安装后,您将能够导航到加载项并查看与部署相关的所有日志消息,以及您的console.dir和console.log打印输出。

我尝试了console.dir(进程)和heroku config:set NODE_ENV=production,但结果相同