如何在所有车把页面中获取 Express Session 变量,现在我每次都渲染它,我希望它只完成一次

Nay*_*tel 2 session node.js handlebars.js

如何在所有车把页面中获取 Express Session 变量,现在我每次都渲染它,我希望它只完成一次并从车把页面访问。

索引.js

app.post('/first',function(req,res){
var session = require('express-session');
req.session.fullname =Email;
res.render('first',
{Email:req.session.fullname,arrayofpromotions:arrayofpromotion,layout:false});
Run Code Online (Sandbox Code Playgroud)

第一把手

 <li><a href="#"> {{#if Email}} Welcome {{ Email }}{{/if}}</a></li>
Run Code Online (Sandbox Code Playgroud)

当从 /first url 请求页面时,我可以读取会话变量,因为我已经渲染了它,但不能从其他页面读取,我希望该变量可用而不渲染它。这样我也可以从其他一些页面读取会话变量。

就像如果我转到 /second , req.session.fullname 也应该包含值。

我在 stackoverflow 上阅读了一些其他答案,但没有得到确切的解决方案。请帮忙。

Ras*_*gor 6

车把会话:

    // app.js
    app.use(session(options));
    app.use(function (req, res, next) {
        res.locals.session = req.session;
        next();
    });
Run Code Online (Sandbox Code Playgroud)

在模板上handlebars使用如下:{{ session.SOMETHING_THAT_YOU_ASSIGNED }}