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