我正在尝试使用Express 4.x设置Node.js应用程序。在解决中间件删除问题后,我终于让它正常工作了。
但是,在下面的代码行中出现了一些警告消息:
app.use(session({secret: '<mysecret>'})
这些警告是:
Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass resave option; default value will change at lib\config\express.js:55:11
Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass saveUninitialized option; default value will change at lib\config\express.js:55:11
在文档中,resave和saveUninitialized的默认值为true。
因此,更改代码以阅读
app.use(session({secret: '<mysecret>',
saveUninitialized: true,
resave: true}));
解决了警告问题。
那么,回到问题的重点:
如果这些值是默认值,为什么我还需要传递它们?而我为什么不必传递其他选项?
resave
和saveUninitialized
都是布尔值,默认情况下在1.7.2中为true
。链接:https://github.com/expressjs/session - cfssaveUninitialized
。我复制了你发布的内容,浪费了45分钟来弄清楚为什么警告不会消失。后来我意识到有一个拼写错误。哈哈:D - AdityaParab