前端模板引擎因其代碼可讀性強(qiáng)和易于維護(hù)性深得站長喜愛。市面上的模板引擎很多,如:Mustache, jQuery tmpl, Kissy template, ejs, doT, nTenjin, etc.等。隨著技術(shù)的進(jìn)步,這些模板引擎越來越切合用戶的體驗要求了。目前,又有了新模板Juicer,既然是新模板,說明其一定有著其他模板所不具備的新特性,下面讓我們一起來了解一下Juicer。
Juicer最注重的是其高效的性能,因為用戶的體驗感知,直接受其影響。同時,Juicer兼顧了錯誤處理機(jī)制和安全性。下面我們來看下jsperf上同幾個主流模板引擎的性能對比。
通過上圖,我們可以清晰看到Juicer在性能上的優(yōu)勢。下面就來詳細(xì)介紹下Juicer。
一、安全性
Juicer對數(shù)據(jù)輸出做了安全轉(zhuǎn)義,避免執(zhí)行惡意JS代碼。如下
如果JSON數(shù)據(jù)是第三方接口返回或者含有用戶輸入(像BBS、評價)的內(nèi)容,第一種代碼寫法就很容易執(zhí)行惡意代碼。當(dāng)然,如果不想被轉(zhuǎn)義,可以使用$${varname}。
二、錯誤處理
錯誤處理可以避免模板引擎編譯錯誤時引發(fā)后續(xù)js代碼停止執(zhí)行。而Juicer在遇到一些JSON數(shù)據(jù)的偶發(fā)錯誤時,只會在控制臺打出一句警告(Warn)告知開發(fā)者模板解析出現(xiàn)錯誤,而不會影響后續(xù)代碼的執(zhí)行。
如此高效的模板引擎,你是否已經(jīng)蠢蠢欲動了?
本文由鄭州墻繪:整理發(fā)布。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!