节点.js 在 heroku 上,无法读取未定义的属性 'env'

Node.js on heroku, Cannot read property 'env' of undefined

本文关键字:未定义 属性 env 读取 js heroku 节点      更新时间:2023-09-26

我有一个节点服务器,它使用

.listen((process.env.PORT || 5000));

这是我从Github上的Heroku测试代码中获得的。这之前有效,但现在我在 Heroku 日志中收到以下错误,

}).listen((process.env.PORT || 5000));
 at Object.<anonymous> (/app/index.js:35:19)
TypeError: Cannot read property 'env' of undefined

我还尝试使用工头运行节点索引.js在本地运行它,这在之前也有效。除非我将端口更改为始终设置为 5000,否则现在它会崩溃。非常感谢有关解决此问题的任何帮助。

更新

我尝试在本地运行节点(因为我收到相同的错误),设置了变量进程,并且还设置了属性 .env。

服务器代码

var server = http.createServer(function(req, res) {
    if (req.url == "/debug") {
        res.writeHead(200);
        res.end(debugPage);
    } else {
        var body = '';
        req.on('data', function (data) {
            body += data;
        });
        req.on('end', function () {
            res.writeHead(200);
            data = parsePostData(body);
            if (JSON.stringify(data) == "{}") {
                res.end("No Data"); 
            } else {
                res.end(process(data));
            }
        }); 
      }
}).listen((process.env.PORT || 5000));

它似乎对我来说工作正常:

服务器(索引.js) :

var express = require('express');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) {
  response.send('Hello World!');
});
app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

文件:

web: node index.js

演示 : https://vikashvverma.herokuapp.com/

来源 : https://github.com/vikashvverma/Heroku-Sample