當(dāng)前位置:首頁 >  站長 >  網(wǎng)站運(yùn)營 >  正文

模板引擎的再度優(yōu)化:Juicer

 2012-04-26 11:56  來源:   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

前端模板引擎因其代碼可讀性強(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ì)在控制臺(tái)打出一句警告(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ī)遇!

相關(guān)文章

熱門排行

信息推薦