前端模板引擎

我的感受前端用模板引擎主要是爲了減小字符串拼接,提升渲染速度(插值 循環 判斷 緩存 部分更新),主要研究了Handlebars artTemplate nodetpl三個模板引擎css

Handlebarshtml

 handlebars 的特色是兼容 Mustache 語法,多數狀況下能夠直接遷移,有一個很有中間件感受的 helpers 的方法,能夠定製不少東西處。handlebars是個很不錯的模版引擎,功能強大,可是比較重,若是項目頗大,對模版有較強的要求又不想用 ng 等框架的話,能夠考慮。前端

nodetplvue

 與其餘幾乎全部模板引擎不一樣的是,nodetpl提倡 「高內聚」、「低耦合」 的開發模式,模板便是一個徹底獨立的模塊,能夠攜帶自身 css 及 js 用在任何地方而不受約束,這一點,其餘模板引擎很難可以完美支持,這也是爲何國內許多大型互聯網站點採用 nodetpl 做爲模板引擎的緣由。node

artTemplatejquery

 模版就看你的須要了,大同小異,模版引擎的關鍵是執行速度吧,渲染的效率纔是最重要的。否則還不如本身拼個html。。。對於執行速度,不得不提模板「編譯速度」和「渲染速度」。市面上幾個主流模板都支持將模板預編譯,而後再渲染。 有一篇文章《高性能JavaScript模板引擎原理解析》,說artTemplate的速度達到理論極限ios

 模板引擎間對比artTemplate相對比較有優點,小又快,目前咱們項目也支持artTemplate使用。但vue自帶模板引擎,並且能實現數據的雙向綁定,Vue.js 的核心是一個響應的數據綁定系統,它讓數據與 DOM 保持同步很是簡單。git

 相對於咱們的項目建議使用 模板字符串+vue1,在小型項目中可使用es6的模板字符串,如模板字符串不能知足需求可以使用vue1。vue2雖然提供了虛擬dom提高了頁面的刷新速度,若是虛擬DOM能夠一次性進行批量的修改是很是好的。可是若是是單獨的、稀少的更新呢?這樣的任何DOM更新都將會使虛擬DOM帶來無心義的預計算。所以,若是某個項目只有較少數量的節點,那麼使用虛擬DOM會帶來速度上質的變化麼?實際上更可能的是使其更慢了!es6

各個模板引擎下載地址:github

baiduTemplate:  http://baidufe.github.io/BaiduTemplate/

artTemplate: https://github.com/aui/artTemplate

juicer: http://juicer.name/或https://github.com/PaulGuo/Juicer/zipball/master#download

doT:doT source:https://github.com/olado/doT   Docs:http://olado.github.com/doT/

tmpl:https://github.com/BorisMoore/jquery-tmpl

handlebars:http://handlebarsjs.com/或https://raw.github.com/wycats/handlebars.js/1.0.0-rc.4/dist/handlebars.js

easyTemplate:https://github.com/qitupstudios/easyTemplate

underscoretemplate: http://documentcloud.github.io/underscore/

mustache:https://github.com/janl/mustache.js

kissytemplate:https://github.com/ktmud/kissy

相關文章
相關標籤/搜索