我最近遇到了Javascript模板,并且对此非常感兴趣.
我正在使用MVC模式构建大型PHP应用程序.模板由相当出色的Twig处理.
我最近遇到了javascript implementation of twig.
我也阅读了关于使用javascipt模板引擎的quite a bit.
现在,在我的应用程序中,该应用程序将为标准请求生成一个完整页面,作为没有JavaScript的用户的后备.对于AJAX请求,它可以生成页面的内容部分(没有< head>,< body>等).
当前,ajax响应对象只是呈现的HTML内容,然后将其插入DOM.
我是否应该返回包含编译的javascript模板和要插入到模板中的对象的响应对象?这样做有什么好处?
从我看过的帖子中,javascript模板只是代表页面一小部分的小片段,例如,在用户提交博客的那一刻显示评论.
javascript模板仅可用于在页面中插入此类小的“片段”吗?
解决方法:
是
我最近的一个项目引起了“客户端模板发烧”,我们对每个模板都使用了笨拙的东西.
对于我使用的每个模板库(两个或三个),您收到的错误消息都不太好.如果您有一个处理大量数据的巨大模板,您会很快发现u.foo为null或对象错误消息越来越令人沮丧.
我选择的最佳实践是:
>如果它是很少加载的模板,则返回完整的HTML片段(来自服务器).如果您只在页面上加载一次HTML,那么您最好将其向下发送,对吗?这也鼓励您将逻辑保持在服务器可能所属的服务器上.
>将客户端模板用于小的重复模板.您的博客评论示例可能是一个很好的例子.当我的客户端模板很小(小于10行)时,我找到了最大的成功
>使用无逻辑的模板引擎.模板中允许的逻辑越多,它们越难读取/维护.另外,某些逻辑可能应该在您的业务层中,而不是在某些JavaScript模板中.换句话说,它们迫使您将演示文稿与逻辑分开(很好).
PS:客户端和服务器端模板都可以使用相同的模板引擎是很酷的.这将使您项目上的开发人员的工作效率更高.