在快速框架中的会话中得到奇怪的错误

我是新来expression框架,这是我在server.js文件中:

 // Module dependencies. var application_root = __dirname, express = require( 'express' ), //Web framework path = require( 'path' ), //Utilities for dealing with file paths mongoose = require( 'mongoose' ); //MongoDB integration //Create server var app = express(); // Configure server app.configure( function() { app.use( express.bodyParser() ); app.use( express.methodOverride() ); app.use( app.router ); app.use(express.session({secret:'thisismysupersecret'})); app.use( express.static( path.join( application_root, 'site') ) ); app.use( express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.post("/verifyLogin",function(request,response){ var usr=request.body.username; var pass=request.body.password; //request.session.email=usr; response.redirect('dashboard'); }); //Start server var port = 3000; app.listen( port, function() { console.log( 'Express server listening on port %d in %s mode', port, app.settings.env); }); 

当我导航到本地主机:3000我得到这个错误

500 TypeError:无法读取未定义的属性“connect.sid”

问题在哪里?

您错过了cookieParser中间件:

 ... app.use( express.cookieParser() ); app.use(express.session({secret:'thisismysupersecret'})); ... 

(因为会话是使用cookie来实现的)。

我有同样的问题。

一定要打电话

 app.use( express.cookieParser() ); 

之前

app.use(express.session({secret:'thisismysupersecret'}));