Javascript 如何在vash视图中显示node.js局部变量(更新)

Javascript 如何在vash视图中显示node.js局部变量(更新),javascript,node.js,vash,Javascript,Node.js,Vash,我想做的是: 使用中间件功能,我希望将会话中的用户数据存储到本地,以便以后在视图中使用它,而无需将这些数据存储在每个方法/控制器中 而不是在每个方法/控制器中: 和视图模板: <div> @model.user.username </div> 我想这样定义中间件: 并在视图中显示来自res.locals的数据。这是我的大问号。。。可能吗 我可以找到如何在vash视图中显示res.locals数据的任何信息 我是否遗漏了什么,我的解决方案是否合理 更新 最后我找到了解

我想做的是:

使用中间件功能,我希望将会话中的用户数据存储到本地,以便以后在视图中使用它,而无需将这些数据存储在每个方法/控制器中

而不是在每个方法/控制器中:

和视图模板:

<div>
  @model.user.username
</div>
我想这样定义中间件:

并在视图中显示来自res.locals的数据。这是我的大问号。。。可能吗

我可以找到如何在vash视图中显示res.locals数据的任何信息

我是否遗漏了什么,我的解决方案是否合理

更新

最后我找到了解决办法。在VASH视图中显示app.locals非常简单:-

视图:

我会做我需要的:-


我希望有人会觉得它有用。

我认为中间件无法与视图通信。但我不知道,也许可以将一些值绑定到所有视图。我也遇到了同样的问题,我用一种_-before方法解决了这个问题,该方法使用sails.js框架将此类数据绑定到所有视图。据我所知,JADE和EJS支持它……它适用于res.locals,但你知道如何访问app.locals吗?
<div>
  @model.user.username
</div>
if (req.session.user) {
    var now = new Date().getTime();
    var data = req.session.user;
    var timeout = data.loggedIn + config.auth.timeout;
    if (timeout < now) {
        req.session.user = null;
        reg.flash('errors', {
            param: 'default',
            msg: 'Your session is expired...'
        });
        return res.redirect('/login');
    }
    res.locals.user = sesData;
}
return next();
<div>
    @model._locals.user.username
</div>