当我的节点应用程序在Heroku上时,看起来我的req.session(.user)不存在。事情在我的本地机器上运行,当我推送到heroku时,我可以访问我的redis-to-go商店用于其他用途,但是当我登录并继续进行经过身份验证的页面时,我在服务器上收到“内部服务器错误”页面,并且“无法在日志中读取未定义的属性'currentUser',w / undefined = req.session,我相信。
另外,我在两个文件的开头都有相同的redistogo代码:
if process.env.REDISTOGO_URL
rtg = require("url").parse(process.env.REDISTOGO_URL)
redis = require("redis").createClient(rtg.port, rtg.hostname)
redis.auth(rtg.auth.split(":")[1])
else
redis = require("redis").createClient()
编辑: 我仍然是Heroku / express / redis的新手,我意识到问题可能是上面的代码不在导出和调用的函数中,所以我把它移进了,但我无法得到它部署。之后
git add .
git push heroku master
heroku releases
我得到了之前我所拥有的旧的部署和回滚列表......
所以,1)我的问题是我的代码超出了导出的fn ??
2)如何推动我的更改?我可能在Heroku上耗尽了内存吗?我的节目不是很大......
Edit2 - 我弄清楚了。我需要进行一些小改动。
谢谢, 约翰
答案 0 :(得分:0)
尝试将第一行更改为:
if (typeof(process.env.REDISTOGO_URL) !== 'undefined')
如果这不起作用,请添加console.log语句,以查看您在Heroku上的if..else语句的哪一侧。