服务器端模板,客户端模板 - 自动转换?

Seb*_*itz 14 jquery templates server-side client-side

随着jQuery模板插件的发生,我想知道如何维护服务器端和客户端模板.

因为在我的情况下,我有一些模板,这将是重复的 - 服务器端和客户端.想象一下:

您有一个表单,您可以在其中输入列表点.按下提交时,会生成一个AJAX请求,但该条目已显示在您的页面上.

现在,这个项目符号点的标记应该是相同的 - 它是通过JS或我的PHP/.NET /任何应用程序生成的.

有没有什么好方法可以维护这些模板/保持同步?或者我真的必须手动维护两个模板?

您在使用JS模板的应用程序方面有什么经验?

mPr*_*inC 5

如果您喜欢JS-> PHP优先级 :)那么您有两个用于PHP后端的jquery-tmpl兼容模板渲染器

  1. https://github.com/abackstrom/jquery-tmpl-php
  2. https://github.com/xyu/jquery-tmpl-php

如果您更喜欢PHP-> JS优先级 :)那么您可以尝试这个Javascript实现流行的PHP模板Smarty

  1. http://code.google.com/p/jsmart/

或者你可以尝试更中立的东西:

  1. 小胡子http://mustache.github.com/


小智 0

我的同事是你提到的 .NET 解析器的作者,所以我经常使用它来在客户端和服务器之间共享模板。需要明确的是 - 无论是在客户端还是服务器上解析,它都是相同的模板、相同的文件。所以没有重复/维护的麻烦,这非常好。

我们遇到的唯一警告是高级逻辑。模板呈现的数据在呈现时或多或少需要准备好打印。因此,检查数组长度需要将结果设为布尔值,字符串需要复数,日期需要格式化等。我相信 Aaron 正在研究一种将函数作为命名参数传递到 .NET 版本的方法,以便例如,客户端模板范围内可用的复数函数可以在 C# 中复制,并以相同的方式在服务器上使用,从而允许在模板内进行更多逻辑和处理。尽管如此,即使必须预处理数据,它仍然非常有用。