这两个属性在express.js中重新保存和saveUninitialized的目的是什么?

时间:2018-08-13 11:21:11

标签: javascript node.js express mean-stack single-page-application

我已经使用了它并且可以工作,但是仍然不清楚,resave和saveUninitialized是什么?我已经阅读了所有理论,但仍然听不懂。

根据我的代码,我应该如何使用它,以便了解这两个属性的用法?

代码:

var express= require('express')
var eApp= express();
var session= require('express-session');
var bodyparser= require('body-parser');

eApp.use(session({secret: 'hunainkey', resave: false, saveUninitialized: false}));
//eApp.use(cookieParser());

eApp.use(bodyparser.json());

eApp.get('/get/:user', (req, res) => 
{
    req.session.user= req.params.user; 
    res.send("Session set");
});

eApp.get('/', (req, res) => 
{
    res.send(req.session.user);
});

eApp.listen(1000, () => console.log('nodeapp5 is listening on port 1000')); 

1 个答案:

答案 0 :(得分:-1)

查看快速会话选项文档以获取更多信息 https://github.com/expressjs/session

  

saveUninitialized

     

强制将“未初始化”的会话保存到商店。

  

重新保存

     

即使没有在请求期间修改会话,也强制将会话保存回会话存储。

用户cfl也在此处说明 https://stackoverflow.com/a/36688600/3151646

  

(未修改的“状态”不同于未初始化的状态)

     

保存:对于任何请求

     
      
  • 会话中的任何内容都无需更改(无需登录等)。
  •   
  • 需要更改会话(已登录)
  •   
     

“即使未进行修改也强制保存会话”

     

saveUninitialized :关于会话的状态,如果它仍处于未初始化状态。

     
      
  • 不仅被修改,会话中的任何内容都不需要更改(无需登录等)。
  •   
     

“强制将“未初始化”的会话保存到存储中。新创建但未修改的会话未初始化。