使用带有灰尘服务器端模板的node.js的小部件模板系统

时间:2013-05-16 22:21:23

标签: node.js widget express template-engine dust.js

我正在尝试使用Node.js和Dust作为模板引擎创建一个包含小部件的页面。 我希望这些小部件尽可能使用自己的css,js和html独立。

以下哪三种方法最好?哪个会是最快的?

选项a:使用res.render并仅渲染一次

pseudo code:
   1) call page route (app.get('/', routes.somePage);
   2) load config file (say /views/somePage.cfg) listing all widgets on somePage.
   3) get widget data if needed (say access another server for the data).
   4) build 1 context object and pass to render
   5) call res.render with context containing page data + all widget's data
   5) somePage template will include partials to build page, including widget partials. 

选项b:使用res.write

pseudo code:
  1) call page route (app.get('/', routes.somePage); 
  2) load config file (say /views/somePage.cfg) listing all widgets on somePage.
  3) use app.render() to render widgets + page (running js to get each widget data) 
  4) use res.write() to build a complete page.

选项c:使用帮助

pseudo code:
  1) call page route (app.get('/', routes.somePage);
  2) use app.render()
  3) use custom helper to render different widgets. 
     custom helper will actually grab the data and might use app.render inside to build 
     the widget during render time..

1 个答案:

答案 0 :(得分:0)

我经历了一些事情,最后,在讨论了Node.js IRC后,做了选项A的路径...看来这是正确的路径,构建一个主上下文并将其提供给一个模板。

我最终构建了一个全局上下文对象,并将某些小部件添加到它的json中。 它就像一个魅力!