亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

淺談web中前端模板引擎的使用

妤鋒シ / 1529人閱讀

摘要:置換型模板引擎的優(yōu)點(diǎn)實(shí)現(xiàn)簡(jiǎn)單,缺點(diǎn)效率低,無(wú)法滿足高負(fù)載的應(yīng)用請(qǐng)求。用途百度詞條模板引擎可以讓網(wǎng)站程序?qū)崿F(xiàn)界面與數(shù)據(jù)分離,業(yè)務(wù)代碼與邏輯代碼的分離,提升開發(fā)效率,良好的設(shè)計(jì)也提高了代碼的復(fù)用性。前端模板的出現(xiàn)使得前后端分離成為可能。

模板引擎

模板引擎-百度詞條

什么是模板引擎?(百度詞條)

模板引擎(這里特指用于Web開發(fā)的模板引擎)是為了使用戶界面與業(yè)務(wù)數(shù)據(jù)分離而產(chǎn)生的,它可以生成特定格式的文檔,用于網(wǎng)站的模板引擎會(huì)生成一個(gè)標(biāo)準(zhǔn)的HTML文檔。

原理(百度詞條)

模板引擎的實(shí)現(xiàn)方式有很多,最簡(jiǎn)單的是“置換型”模板引擎,這類模板引擎將指定模板內(nèi)容(字符竄)中的特定標(biāo)記(子字符竄)替換一下變生成了最終需要的業(yè)務(wù)數(shù)據(jù)(比如網(wǎng)頁(yè))。

置換型模板引擎的優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單, 缺點(diǎn): 效率低,無(wú)法滿足高負(fù)載的應(yīng)用請(qǐng)求。

用途(百度詞條)

模板引擎可以讓(網(wǎng)站)程序?qū)崿F(xiàn)界面與數(shù)據(jù)分離,業(yè)務(wù)代碼與邏輯代碼的分離,提升開發(fā)效率,良好的設(shè)計(jì)也提高了代碼的復(fù)用性。

我們司空見(jiàn)慣的模板安裝卸載等概念,基本上都和模板引擎有著千絲萬(wàn)縷的聯(lián)系。模板引擎不只是可以讓你實(shí)現(xiàn)代碼分離(業(yè)務(wù)邏輯代碼和用戶界面代碼),也可以實(shí)現(xiàn)數(shù)據(jù)分離(動(dòng)態(tài)數(shù)據(jù)與靜態(tài)數(shù)據(jù)),還可以實(shí)現(xiàn)代碼單元共享(代碼重用),設(shè)置是多語(yǔ)言、動(dòng)態(tài)頁(yè)面與靜態(tài)頁(yè)面自動(dòng)均衡(SDE)等等與用戶界面可能沒(méi)有關(guān)系的功能。

前端模板

AJAX的出現(xiàn)使得前后端分離成為可能。

后端專注于業(yè)務(wù)邏輯,為前端提供接口。

前端通過(guò)AJAX的方式向后端的接口請(qǐng)求數(shù)據(jù),然后動(dòng)態(tài)渲染頁(yè)面。

//假設(shè)接口數(shù)據(jù)如下
//[{friends: "Sharon"}, {friends: "Sandy"}, {friends: "Roc"}]

//假設(shè)渲染后的頁(yè)面

  • Sharon
  • Sandy
  • Roc

模板引擎出現(xiàn)之前,當(dāng)然是在js中遍歷拼接字符竄。

確實(shí)很簡(jiǎn)單方便,但是也有很多缺點(diǎn):

html代碼(View層) 和 JS代碼 (Controller層),UI與邏輯代碼混雜在一起,非常不便于閱讀。 一旦業(yè)務(wù)復(fù)雜起來(lái),不容易維護(hù)。

從安全角度來(lái)講,也會(huì)有代碼注入攻擊風(fēng)險(xiǎn)(code injection)。

從代碼者的角度來(lái)講,如果需要拼接的HTML代碼里有很多引號(hào)的話(比如標(biāo)簽里面有很多屬性),那么就非常容易出錯(cuò)。

既然這樣,總要想辦法解決問(wèn)題!

這就引出模板引擎, Underscore的_.template可能是最簡(jiǎn)單的前端模板引擎了(或者可以說(shuō),這就是個(gè)前端模板函數(shù))。

引用_.template,將以上的代碼改寫。

這樣的話,前端需要改HTML代碼,只需要改模板即可。

用戶界面與邏輯代碼不在混雜,可維護(hù)性和擴(kuò)展性大大的提高了。

如何實(shí)現(xiàn)一個(gè)模板引擎呢? 實(shí)現(xiàn)的思路是什么呢?

感興趣的話,可以看看我翻譯的兩篇文章。

翻譯_20行代碼創(chuàng)造JavaScript模板引擎(一)

翻譯_只需20行代碼創(chuàng)造JavaScript模板引擎(二)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/98828.html

相關(guān)文章

  • 淺談 Web 前后端模板引擎使用

    摘要:前端模板的出現(xiàn)使得前后端分離成為可能??偨Y(jié)本文簡(jiǎn)單介紹了模板引擎在前后端的使用,下文我們回到,重點(diǎn)分析下的使用方式以及源碼原理。樓主對(duì)于模板引擎的認(rèn)識(shí)比較淺顯,有不正之處希望指出感謝 前言 這篇文章本來(lái)不打算寫的,實(shí)話說(shuō)樓主對(duì)前端模板的認(rèn)識(shí)還處在非常初級(jí)的階段,但是為了整個(gè) 源碼解讀系列 的完整性,在深入 Underscore _.template 方法源碼后,覺(jué)得還是有必要記下此文,...

    chenjiang3 評(píng)論0 收藏0
  • 淺談模板引擎之a(chǎn)rtTemplate

    摘要:來(lái)給大家推薦一款模板引擎,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡(jiǎn)潔,好用,一個(gè)大概也才幾左右。 對(duì)于前端開發(fā)者來(lái)說(shuō),有一個(gè)綁數(shù)據(jù)的模板是多么的幸福,不用我多說(shuō)大家也知道,終于不用在js中一個(gè)個(gè)字符串拼接一大推元素?cái)?shù)據(jù)啥的,可以省下我們很多時(shí)間。來(lái)給大家推薦一款模板引擎artTemplate,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡(jiǎn)潔,好用,一個(gè)template.js大概也才幾...

    zeyu 評(píng)論0 收藏0
  • 淺談模板引擎之a(chǎn)rtTemplate

    摘要:來(lái)給大家推薦一款模板引擎,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡(jiǎn)潔,好用,一個(gè)大概也才幾左右。 對(duì)于前端開發(fā)者來(lái)說(shuō),有一個(gè)綁數(shù)據(jù)的模板是多么的幸福,不用我多說(shuō)大家也知道,終于不用在js中一個(gè)個(gè)字符串拼接一大推元素?cái)?shù)據(jù)啥的,可以省下我們很多時(shí)間。來(lái)給大家推薦一款模板引擎artTemplate,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡(jiǎn)潔,好用,一個(gè)template.js大概也才幾...

    caohaoyu 評(píng)論0 收藏0
  • 2017文章總結(jié)

    摘要:歡迎來(lái)我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動(dòng)及頁(yè)面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁(yè)瞬開緩存網(wǎng)頁(yè)性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來(lái)我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁(yè)面渲染優(yōu)化 理論 | HTML寫法...

    dailybird 評(píng)論0 收藏0
  • 2017文章總結(jié)

    摘要:歡迎來(lái)我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動(dòng)及頁(yè)面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁(yè)瞬開緩存網(wǎng)頁(yè)性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來(lái)我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁(yè)面渲染優(yōu)化 理論 | HTML寫法...

    hellowoody 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<