会话未在Express中定义

时间:2015-05-07 15:26:48

标签: node.js session express

我在会话之前已经包含了cookie解析器(不确定当前版本是否需要),导入的express-session是可见的。如果我在第8行将session更改为express.session,我会收到弃用错误(不是警告)。

var express = require('express'),
    cookieParser = require('cookie-parser'),
    expressSession = require('express-session'),
    port = process.env.PORT || 3000;

app = express();

app.use(cookieParser());
app.use(session({
    secret: "yadayada",
    resave: true,
    saveUninitialized: true
}));

app.get('/', function (req, res) {
    console.log(req.session);
    console.log(req.cookies);
});

app.listen(port);

2 个答案:

答案 0 :(得分:0)

session未在第9行定义,因为您在顶部声明为expressSession,即

expressSession = require('express-session')

将声明重命名为session或更新第9行以致电expressSession,即

app.use(expressSession({ ... }));

答案 1 :(得分:0)

同样的问题...... 但是https://github.com/expressjs/session?_ga=1.45435812.1066105876.1451139756

app.use(session({
  genid: function(req) {
    return genuuid() // use UUIDs for session IDs
  },
  secret: 'keyboard cat'
}))