如何在express中使用cookieSession

我试图使用内置的连接cookieSession对象,但我不能得到它与快递正常工作。

我有这个应用程序:

 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] 

有任何想法吗?

谢谢

什么是你的connect模块的版本? cookieSession中间件在2.0.0版本中首次被添加。 运行npm list|grep connect以确保您的connect版本至less为2.0.0或更高。

会话将不会工作,除非你有这3个顺序:

 app.use(express.cookieParser()); app.use(express.cookieSession()); app.use(app.router); 

之后像一个魅力工作。

请参阅: https : //stackoverflow.com/a/10239147/2454820

我也有这个问题。 原来,everyauth是连接1.7.5连接的模块之一,在npm删除everyauth之后,所有的问题都没有了。