如何选择Javascript模板引擎(javascript template engine)?

日期:2012-9-17  来源:GBin1.comjavascript

如何选择Javascript模板引擎(javascript template engine)?

随着前端开发的密集度愈来愈高,Ajax和JSON的使用愈来愈频繁,你们确定免不了在前台开发中大量的使用标签,常见到的例子以下:html

你的到了一个JSON对象,以下:前端

var data={
  email: 'terry.li@gbin1.com,
  gender: 'male'  
}

而后你须要将json数据组织成页面内容,以下: java

var email, gender;
email= '<div class="mail">' + data.email+ </div>'; 
gender= '<div class="gender">' + data.gender + </div>'; 
$('#contentwrapper‘).append(content).append(gender);

代码执行功能很是简单,将json数据生成web页面中的内容,以下:git

<div class="mail">terry.li@gbin1.com</div>
<div class="gender">Male</div>

若是只是简单代码组合可能还好一些,可是若是页面大量使用相似的结构的话,除非一直是同一个程序员维护,不然后期的管理成本会相对很是的高。程序员

为 了解决这个问题, 咱们一般会引入"javascript模板引擎概念“,提到模板,相信你们都不会陌生,若是你开发过服务器端程序,例如J2EE相关技术的话,确定对于 Freemarker,sitemesh等模板类库很是熟悉,它可以有效的帮助你组织和维护代码结构,提升代码编写效率和下降维护成本。github

目前开源的javascript模板引擎不少,抛给咱们的问题是 - 如何选择一个js模板引擎? web

为了更好的帮助你们辅助选择模板引擎,这里推荐一个不错的工具性网站:Template-engine-chooser json

打开这个网站后,咱们能够看到列出了比较经常使用的js模板引擎,例如,mustache.js,jQuery之父John 的micorotemplate.js,还有jQuery Tmpl的替代品 - jsrender等等。服务器

在类库列表的左边是一系列的问题,以下:

  • 模板须要在客户端使用仍是服务器端?
  • 逻辑复杂程度有多少?
  • 是否是有运行速度要求?
  • 是否是须要预约义的模板?
  • 须要Partials支持吗?
  • 须要DOM结构或者String字符串类型?
  • 除了模板标签,是否是在渲染先后开发语言一致?

若是你也在寻找js模板的话,你确定也有一些问题,或者就是上面列出的问题里。你只须要针对不一样的问题回答:是或者不是,这个工具会自动选择合适的模板。

固然,这里的模板并非很全,可是包含了比较知名的模板,但愿之后它可以添加更多模板选择项。

但愿你们喜欢这个工具!若是你有任何问题,请给咱们留言!

来源:如何选择Javascript模板引擎(javascript template engine)?

相关文章
相关标签/搜索