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

Joã*_*lva 6 session global node.js express

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

我该怎么做才能做到最好?

谢谢!

Joã*_*lva 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);
}
Run Code Online (Sandbox Code Playgroud)

然后将其添加到中间件中:

app.use(appendLocalsToUseInViews);
Run Code Online (Sandbox Code Playgroud)