【发布时间】:2015-01-29 22:59:44
【问题描述】:
这是我当前的代码:
var express = require('express');
app.configure(function(){
app.use(express.static(_settings.c.WEB_PATH + '/public'));
app.use(_mods.web.mware.rawBody);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.methodOverride());
app.use(express.session({
cookie:{ domain:"."+_settings.c.SITE_DOMAIN, maxAge:1440009999},
secret:'password',
store: r_store,
}));
//other middleware here
});
我想用自定义中间件(在另一个文件中)替换会话部分。 我将取出会话部分并将其放入:
var helper = require('helper.js');
app.use(helper.setSession);
在那个文件中,我有这个:
var express = require('express');
function setSession(req,res,next){
express.session({
cookie:{ domain:"."+_settings.c.SITE_DOMAIN, maxAge:1440009999},
secret:'password',
store: r_store,
})
next();
};
exports.setSession = setSession;
但是,当我运行它时,会话没有连接。我不知道如何调试它。
【问题讨论】:
-
我可能误解了我在看什么,但我认为您不会每次都想运行
express.session,不是吗? -
不。我只想在某些场合运行它。
-
不,我的意思是
express.session返回一个中间件函数。在这里,您将每个请求都称为它。您需要返回相同的内容。