前端模板引擎因其代碼可讀性強和易于維護性深得站長喜愛。市面上的模板引擎很多,如:Mustache, jQuery tmpl, Kissy template, ejs, doT, nTenjin, etc.等。隨著技術的進步,這些模板引擎越來越切合用戶的體驗要求了。目前,又有了新模板Juicer,既然是新模板,說明其一定有著其他模板所不具備的新特性,下面讓我們一起來了解一下Juicer。
Juicer最注重的是其高效的性能,因為用戶的體驗感知,直接受其影響。同時,Juicer兼顧了錯誤處理機制和安全性。下面我們來看下jsperf上同幾個主流模板引擎的性能對比。


通過上圖,我們可以清晰看到Juicer在性能上的優勢。下面就來詳細介紹下Juicer。
一、安全性
Juicer對數據輸出做了安全轉義,避免執行惡意JS代碼。如下


如果JSON數據是第三方接口返回或者含有用戶輸入(像BBS、評價)的內容,第一種代碼寫法就很容易執行惡意代碼。當然,如果不想被轉義,可以使用$${varname}。
二、錯誤處理
錯誤處理可以避免模板引擎編譯錯誤時引發后續js代碼停止執行。而Juicer在遇到一些JSON數據的偶發錯誤時,只會在控制臺打出一句警告(Warn)告知開發者模板解析出現錯誤,而不會影響后續代碼的執行。

如此高效的模板引擎,你是否已經蠢蠢欲動了?
本文由鄭州墻繪:http://www.zzfeitian.com整理發布。