节点会自动生成会话变量吗?

时间:2016-11-25 22:19:51

标签: javascript node.js session express

我正在使用Express和express-session包,并且可以成功保存类似的会话变量,

 router.get('/test', function(req, res, next){
  req.session.test = 'awesome';
  res.send('awesome')
})

当我使用下面的代码时,我将获得所需的结果

router.get('/pest', function(req, res, next){

  res.send(req.session.test)
})

我没有问题,但我无法理解,Node会自动创建与其他变量的会话吗?例如:

router.get('/test', function(req, res, next){
  router.test = 'test';
  res.send('test')
})

然后转到

router.get('/lest', function(req, res, next){
  res.send(router.test)
})

产生相同的结果。似乎很奇怪,节点会在一段时间后自动保留变量。

1 个答案:

答案 0 :(得分:1)

它不是会话变量。

你有一个路由器对象。

每个请求的修改都会持续存在,而不仅仅是那些来自具有给定会话cookie的浏览器的请求。