在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ node-app一定要使用ejs模板嗎?

node-app一定要使用ejs模板嗎?

如題,這段時間接觸用express寫后端,用的模板是ejs寫的。其實用html也可以,為什么要使用ejs呢?ejs的優(yōu)勢在哪里?難道是因為它的數(shù)據(jù)渲染比html+js更便捷?

回答
編輯回答
安淺陌
其實用html也可以,為什么要使用ejs呢?

那你就用啊,看你怎么綁定動態(tài)數(shù)據(jù)。

ejs的優(yōu)勢在哪里?

與 html 對比多了一個插入 nodejs route 傳遞過來的動態(tài)數(shù)據(jù)的功能,這不叫“優(yōu)勢”,這兩貨唯度完全不一樣

難道是因為它的數(shù)據(jù)渲染比html+js更便捷?

只能說你把完全不同的東西放一起來比了,html+js 是 single page application,純客戶端的。 ejs 是服務(wù)器端編譯模板引擎。

建議樓主多做做,多練練,別啥都不清楚就出來問。

2018年2月26日 01:50
編輯回答
命多硬

方案一:后端返給你HTML+js,然后js向后端要數(shù)據(jù)并操作DOM填充HTML

方案二:數(shù)據(jù)在后端,那么不如直接讓后端把數(shù)據(jù)先填到HTML中,然后在伴隨一些交互型的js返回給你豈不美哉,相當(dāng)于少了一次于服務(wù)器的交互

然而現(xiàn)在的前后端分離則是另一種考慮。因為后端填充HTML實際上還是需要數(shù)據(jù)處理邏輯的,那么就是方案一的某些處理邏輯放在后端?,F(xiàn)在傾向于服務(wù)型的后端只提供數(shù)據(jù)操作接口,將很大一部分?jǐn)?shù)據(jù)處理邏輯放在前端,具體能減輕多少壓力也就交給background的同學(xué)去評估。

而ejs和jsp相類似,jsp實際上是一個java程序(會被編譯的),看上去都是html內(nèi)容,但是實際上是HTML內(nèi)容嵌到一段java程序里。ejs也是一樣的,把HTML代碼嵌到j(luò)s腳本里,Vue和React的render也是相似的方案。這樣做我覺得主要是減輕渲染和操作DOM的壓力,并且數(shù)據(jù)處理的形式肯定也是模板比操作DOM方便。

比如你需要把一個數(shù)組變成一個ul-li,js可能需要jQuery支持,循環(huán)造很多l(xiāng)i元素append到ul中。模板就相當(dāng)于在一個for循環(huán)中拼接各種"<li></li>"這樣的字符串,然后在“寫到”HTML文檔中交給瀏覽器渲染。

這是我對模板原因的理解,淺顯不深入,肯定有什么不對的地方煩請指出,如有誤導(dǎo)立馬刪除

2017年3月3日 08:06
編輯回答
嘟尛嘴

答案是否。ejs等模板引擎是為動態(tài)頁面準(zhǔn)備的,也就是說,你的HTML頁面存在“變量”的情況下,才需要用到模板引擎。

  1. 純靜態(tài)頁面:不需要模板引擎
  2. 動態(tài)頁面:可按需選擇不同的模板引擎,如ejs、jade、nunjucks
2018年4月8日 18:22