这是我目前的代码:
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;
但是,当我运行它时,会话没有连接。我不知道如何调试它。
答案 0 :(得分:0)
app.use
接受带有签名(err, )req, res(, next)
express.session()
返回与任何其他中间件一样的函数。你永远不会调用这个函数。
var express = require('express');
function setSession(req, res, next){
express.session({
cookie:{ domain:"."+_settings.c.SITE_DOMAIN, maxAge:1440009999},
secret:'password',
store: r_store,
})(req, res, next);
};
exports.setSession = setSession;