Node.js为什么我的会话对象在向其添加值后为空

时间:2016-03-03 13:59:19

标签: javascript node.js session

我是node.js的新手,我被困在这里。我的路由器中有以下代码:

var session = require('express-session')({
secret: 'shhh_very_secret',
resave: true,
saveUninitialized: true,
cookie: { secure: false }
});
var sharedsession = require("express-socket.io-session");

// Express
var app = express();

// Config (game and app settings)
var config = require('./config/config.js');
app.config = config;

// Session
app.use(session);

// Socket.io
app.io = socket_io();
app.io.use(sharedsession(session, {
    autoSave:true
}));

我的目标是当用户第一次加载页面时,它将为他/她初始化一个空的会话对象。然后每4000秒将“新对象”字符串添加到其中。第一个访问部分运行良好,但是当我刷新页面时,会话对象始终为空。我错过了什么?这样做的正确方法是什么?

///这是app.js中与session

相关的部分
![My image](img/pic.png "A title")

我使用的是socket.io但是在我从客户端删除它之后它不应该影响代码(或?)。

//编辑:我认为setInterval函数中的代码正在使用一些自己的范围,因为如果我在函数之外检查它,它实际上并没有向我的对象添加任何东西

1 个答案:

答案 0 :(得分:0)

Express不支持开箱即用的会话。确保您使用的是添加会话的中间件,例如https://github.com/expressjs/session