NodeJS(Express.js):如何使Session成为全局

时间:2014-01-16 14:08:35

标签: node.js session express global

我知道全局变量在javascript和整体编程中都是不好的做法,但是我想让我的用户会话在我的express.js应用程序中可用,避免必须将会话参数全部传递给我的控制器到我的楷模。

我怎样才能做到最好?

谢谢!

2 个答案:

答案 0 :(得分:1)

我最终解决了这个问题:

var appendLocalsToUseInViews = function(req, res, next)
{            
    //append request and session to use directly in views and avoid passing around needless stuff
    res.locals.session = req.session;
    next(null, req, res);
}

然后将其添加到中间件:

app.use(appendLocalsToUseInViews);

答案 1 :(得分:-2)

如果你真的想这样做,请将请求或会话添加到global - 节点对象,虽然我也不建议这样做...