如何選擇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)?

相關文章
相關標籤/搜索