我尝试使用connect的内置cookieSession
对象,但无法使其与express正常工作。
我有这个app:
var express = require('express');
var connect = require('connect');
var app = express.createServer();
app.configure(function() {
app.use(express.logger());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('whatever'));
app.use(connect.cookieSession({ cookie: { maxAge: 60 * 60 * 1000 }}));
});
app.get('/', function(req, res) {
res.render('root');
});
app.listen(3000);
我得到这个错误:
TypeError: Cannot read property 'connect.sess' of undefined
at Object.cookieSession [as handle]
有什么想法吗
3条答案
按热度按时间jdzmm42g1#
会话将无法工作,除非您按以下顺序拥有这3个:
在那之后工作得很有魅力。
参见:https://stackoverflow.com/a/10239147/2454820
jk9hmnmh2#
您的
connect
模块的版本是什么?cookieSession
中间件最初是在2.0.0版本中添加的。运行npm list|grep connect
以确保您的connect
版本至少为2.0.0或更高版本。nwwlzxa73#
我也有这个问题。原来everyauth是与connect 1.7.5链接的模块之一,在npm删除everyauth之后,所有问题都消失了。