我正在尝试使用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..
答案 0 :(得分:0)
我经历了一些事情,最后,在讨论了Node.js IRC后,做了选项A的路径...看来这是正确的路径,构建一个主上下文并将其提供给一个模板。
我最终构建了一个全局上下文对象,并将某些小部件添加到它的json中。 它就像一个魅力!