客户端呈现:如何利用服务器/客户端模板?

时间:2013-02-06 09:50:46

标签: erb template-engine mustache

我目前正在使用erb作为渲染引擎实现ruby / sinatra应用程序,使用使用把手/胡子模板的客户端渲染。我正在实现一个列表视图,其中列表元素将在javascript存在时使用客户端解决方案呈现,而在不存在时回退到服务器端(以这种方式定位爬虫)。但是我留下了以下问题:我基本上有两个模板用两个不同的标记编写,它们生成相同的html。我喜欢“写一次,到处跑”。其他项目如何利用这个问题?

2 个答案:

答案 0 :(得分:0)

我在Sinatra中使用了sinatra-mustache,效果很好。我没有将它用于同一模板文件的客户端和服务器端模板,但你也应该能够这样做。

答案 1 :(得分:0)

我发现答案是在服务器端使用您最喜欢的模板味道,但是在客户端共享模板的情况下使用其他模板引擎。所以,我大部分时间都在使用erb,剩下的时间使用poirot(对于Rails)。这在动作包上集成了Mustache模板,无论如何都可以处理多个模板引擎。 Poirot准备好帮助程序在文档和客户端渲染库上编写模板。它还集成了把手和hogan模板,这些模板是小胡子扩展。

对于Sinatra,我尝试使用erb和https://github.com/defunkt/mustache使用相同的方法,但是在轨道上与poirot的良好集成必须手工完成。