从dust.js模板访问express.js帮助程序的麻烦

时间:2012-10-21 05:52:31

标签: templates express helpers dust.js

我正在使用node-express-boilerplate项目并尝试将其转换为使用dust.js模板。我有dust.js使用Express@3.x和dustjs-linkedin渲染简单的视图,但是我仍然坚持转换帮助器以在dust.js模板中使用。

我重新定义了以https://github.com/mape/node-express-boilerplate/blob/master/server.js:144

开头的代码

符合新的Express@3.x版本(使用https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x作为指导),如下:

app.configure(function(){

   app.use(function(req, res, next) {
       res.locals.assetsCacheHashes = function(req, res) {
           return assetsMiddleware.cacheHashes;
       }
       res.locals.session = function(req, res) {
           return req.session;
       }
       res.locals.error = function(err, req, res, next) {

       // ...

       }
       next();
    });
});

我认为在dust.js模板中,我可以使用{session}来测试会话,或者{assetsCacheHashes}来测试和打印它们,但似乎并非如此。

有关我正在做错的任何提示吗?我应该使用dust.js助手吗?如果是这样,有人可以提出一个例子吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我相信你错误地定义了当地人。

试试这个:

res.locals.session = req.session;

{{session}}