我用这个结构构建了一个node.js应用程序:
在应用中.js:
var myList = ['0'];
app.get('/webpage',function(req,res){
console.log(myList);
res.render('webpage.ejs', {exps: myList});
});
在"网页"上,我可以显示myList
,还有一个表单可以让我向myList
添加元素。假设我通过此表单将"1"附加到myList
。
我有以下问题,我不知道如何调试:
- 在我的本地计算机上,此应用程序运行良好:每次刷新"网页"时,我都可以在控制台中看到
['0','1']
。 - 在 Heroku 上在线,当我刷新"网页"时,有时我看到
['0','1']
有时我只看到['0']
,几次刷新后我再次看到['0','1']
:就像myList
在应用程序首次启动时的默认值和稍后指定的值之间随机振荡。
我在本地和 heroku 上使用相同的 npm 和节点版本以及相同版本的依赖项。据我所知,我在当地和 heroku 有相同的环境,所以我不知道这个问题可能来自哪里。
您可能在 Heroku 上运行多个实例,在这种情况下,每个请求可能会分配给不同的实例,每个实例都有自己的进程和内存空间。
我相信 Heroku 也会在一段时间不活动后关闭实例,所以这也可能是个问题。
如果您打算持久化某些内容,将其存储在数据库中怎么样?