【发布时间】:2014-06-27 07:23:58
【问题描述】:
我是Express 的新手。正如Express 4.x 已删除捆绑的中间件。
应该需要我想使用的任何中间件。当我在github上阅读带有express-session和cookie-session的README时,我觉得很难理解其中的区别。
所以我尝试编写简单的代码来解决这个问题。我为每个中间件运行两次。
var express = require('express')
, cookieParser = require('cookie-parser')
, session = require('cookie-session')
, express_sess = require('express-session')
, app = express();
app.use(cookieParser())
app.use(session({ keys: ['abc'], name: 'user' }));
//app.use(express_sess({ secret: 'abc', key: 'user'}));
app.get('/', function (req, res, next) {
res.end(JSON.stringify(req.cookies));
console.log(req.session)
console.log(req.cookies)
});
app.listen(3000);
对于cookie-session,我的终端总是会收到{}。
对于express-session,我得到这样的东西。
req.session: { cookie: {
path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true
}
}
req.cookie: {user: 's:aJ97vKA5CCwxqdTj0AV1siRQ.fWusS5+qfCKICtwkfrzcZ/Gq8P0Qdx/kx8mTBhoOhGU'}
这真的让我很困惑。那么如何用基本用法来解释结果呢?他们之间有什么区别?我应该什么时候使用它们?
【问题讨论】:
标签: node.js session cookies express connect