1、工作原理 —— 拼字符串成為代碼。

那最簡單的 JSP 舉例(因為這貨第一次運行會被編譯,比較好說事兒)

如圖。

<%%>內(nèi)的是模板內(nèi)容

<div></div> 是頁面內(nèi)容

當(dāng)JSP運行被,編譯為S" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 關(guān)于模板引擎的工作方式和性能?

關(guān)于模板引擎的工作方式和性能?

時間:2023-12-10 09:36:01 | 來源:網(wǎng)站運營

時間:2023-12-10 09:36:01 來源:網(wǎng)站運營

關(guān)于模板引擎的工作方式和性能?:瀉藥

1、工作原理 —— 拼字符串成為代碼。

那最簡單的 JSP 舉例(因為這貨第一次運行會被編譯,比較好說事兒)

如圖。

<%%>內(nèi)的是模板內(nèi)容

<div></div> 是頁面內(nèi)容

當(dāng)JSP運行被,編譯為Servlet Class后,其實做了黃字標(biāo)注的操作

<%%> 被去掉,內(nèi)部即為正常的JAVA代碼

<div></div> 被加引號成為字符串(回車換行也被變?yōu)檗D(zhuǎn)義字符)

輸出字符串內(nèi)容。

2、流程 —— 訪問時,轉(zhuǎn)換模板代碼為目標(biāo)源碼執(zhí)行,或者第一次運行時轉(zhuǎn)為目標(biāo)源碼(緩存),后續(xù)直接調(diào)用源碼運行。

所以,不管怎么樣模板轉(zhuǎn)換與目標(biāo)代碼執(zhí)行肯定要消耗資源(只是消耗多點少點問題),肯定會比不用模板直接輸出 HTML 來的有壓力。

3、依賴性

從1原理可知,哪方實現(xiàn)的模板引擎,就依賴哪方。

在server端實現(xiàn)模板引擎時,依賴server端。

在客戶端實現(xiàn)依賴客戶端。

所以,只要在客戶端實現(xiàn)一種模板解析方式(引擎),用來讀取模板內(nèi)容,分析并轉(zhuǎn)為客戶端可執(zhí)行的程序源碼,并運行,就可以脫離服務(wù)端,在瀏覽器端渲染頁面,而不依賴服務(wù)端。

4、瀏覽器端模板 —— 依據(jù)原理,JS 可作:

剩下的無非是怎么用正則或者其他字符串處理手段將模板字符串拼接為js源碼字符串。

并用 eval 或者 new Funciton 等手段,執(zhí)行拼接后源碼。

此代碼可實時執(zhí)行,或者如同jsp一般,第一次運行時執(zhí)行模板->源碼拼接,然后將拼接后源碼緩存,之后執(zhí)行模板不再進(jìn)行重復(fù)拼接工作。

當(dāng)然,此類優(yōu)化手段很多,可以自己慢慢玩。

5、前端模板是否好

這是仁者見仁智者見智的事情,就不細(xì)說了,需要根據(jù)具體項目情況綜合考慮。

無非就是全前置,前后各半和全后置模板這幾種。

一般來說,前端模板會分擔(dān)一部分服務(wù)器壓力,畢竟把一(?。┎糠钟嬎惴?jǐn)偟搅丝蛻舳松稀?br>
但是可能會給(半前置)模板統(tǒng)一管理和更新上帶來點問題。

也會給客戶端增加(些許)壓力。

或者會造成SEO、不支持JS瀏覽器如何顯示等體驗性問題需要解決。

6、前端模板類型

這里只根據(jù)你說的服務(wù)端模板,給出對應(yīng)前端模板實現(xiàn)思路。

此類模板開源的有的是,GitHub 搜去吧。

實際上前端模板實現(xiàn)不只這(字符串拼接)一種方式,可自行拓展知識面,這里就懶得說了 = =|||

關(guān)鍵詞:方式,性能,工作,模板,引擎

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉