2012-10-21 64 views
2

我正在玩节点 - 表达 - 样板文件项目,并尝试将其转换为使用dust.js模板。我有dust.js使用[email protected]和dustjs-linkedin渲染简单的视图,但是我坚持要将帮助器转换为在dust.js模板中使用。从dust.js模板访问express.js助手时遇到问题

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

代码与新的版本[email protected](使用https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x作为指导),以符合,因为这样的:

app.configure(函数(){

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模板,我可以用{}会话测试会话或{} assetsCacheHashes测试并打印出来,但是这似乎并不如此。

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

回答

0

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

试试这个:

res.locals.session = req.session; 

{{session}} 
+0

为了澄清,如果app.get(),例如内部使用上述建议将工作, 'app.get( ... res.locals.session = req.session; res.render( '页'); ... )' 或者,可以通过上下文: 'app.get( ... res.render( '页',{ 'session':req.session}); ... )' – user1762591