javascript - 使用node如何進(jìn)行前后臺(tái)分離?
問(wèn)題描述
最近使用express+ jade + mongodb做了個(gè)小練習(xí),使用的jade模板引擎在渲染數(shù)據(jù)時(shí)需要在頁(yè)面代碼中嵌入js邏輯代碼,個(gè)人很不喜歡這種開(kāi)發(fā)模式,所以想問(wèn)一下使用node如何實(shí)現(xiàn)前后臺(tái)的完全分離?
問(wèn)題解答
回答1:前后端分離頁(yè)面中也得嵌入 js 代碼啊,前端要跑的邏輯肯定還是得跑,express + jade 已經(jīng)做到了服務(wù)端渲染,通過(guò)數(shù)據(jù)渲染模版產(chǎn)生前端內(nèi)容,前端再跑相對(duì)應(yīng)的前端邏輯,這樣已經(jīng)算是完全分離了。
回答2:讓node只負(fù)責(zé)后端,jade可以扔掉了。前端用原生js進(jìn)行ajax請(qǐng)求獲取數(shù)據(jù),再進(jìn)行相應(yīng)的邏輯處理即可
回答3:通過(guò) express + mongodb 可以將 URL 映射到數(shù)據(jù)庫(kù)———— 換言之,URL是數(shù)據(jù)的指針。
在 express + mongodb 技術(shù)上再加一層 jade 意味著,數(shù)據(jù)要流經(jīng) jade,跟模版耦合成 html 數(shù)據(jù)流 之后通過(guò)response返回給客戶端
前后端分離,在于從數(shù)據(jù)庫(kù)里取出來(lái)的數(shù)據(jù)是直接返回在 response 或者經(jīng)過(guò)模版引擎處理后再返回。
( 體會(huì)下: res.json 和 res.render )
回答4:可以參考一下淘寶前后端分離實(shí)踐
細(xì)節(jié)有待商榷,但是大體模式都講清楚了。如它里面所說(shuō)的,要看你要的“前后端分離”分離成怎么樣。以及你對(duì)前端這個(gè)東西的理解了。
回答5:jade模板換成html,前端用ajax就ok了吧。。。(前端相當(dāng)于靜態(tài)資源,nodejs可以看作為一個(gè)web server)
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題2. java - instance method中 static后的<K>是什么意思?3. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?4. java - com.android.internal.R.attr.dialogTheme 這個(gè)dialogTheme的內(nèi)容再哪里查看?5. java - 一段遞歸代碼的問(wèn)題6. python3.x - python連oanda的模擬交易api獲取json問(wèn)題第五問(wèn)7. css3 - 圖片等比例縮放8. java - 關(guān)于File的問(wèn)題?9. html5 - 這個(gè)代碼顯示功能如何實(shí)現(xiàn)?10. 錯(cuò)誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V
