javascript - 問(wèn)下大家對(duì)前后端分離,是怎么理解的
問(wèn)題描述
后端只提供數(shù)據(jù),其他所有操作交給前端嗎
問(wèn)題解答
回答1:后端只提供api、api包含數(shù)據(jù)、也包含對(duì)數(shù)據(jù)的整理和處理
前端負(fù)責(zé)呈現(xiàn)、和取數(shù)據(jù)
講一個(gè)前后端分離的三層結(jié)構(gòu)
復(fù)雜一點(diǎn)的會(huì)使用node+前臺(tái)為前端、
node只是一個(gè)簡(jiǎn)單的express或者koa、用http請(qǐng)求java或者php服務(wù)端
這里肯定會(huì)想node用來(lái)做什么、沒(méi)錯(cuò)、就是模版引擎
傳統(tǒng)的兩層架構(gòu)、模版引擎沒(méi)法做到分離的、jsp和java總是在一個(gè)項(xiàng)目中、耦合度太高
三層結(jié)構(gòu)、node的項(xiàng)目是單獨(dú)發(fā)到生產(chǎn)環(huán)境的、
然后用node請(qǐng)求遠(yuǎn)程的java或者php項(xiàng)目、node請(qǐng)求其他后臺(tái)屬于服務(wù)器之間的、所以沒(méi)有跨域一說(shuō)
這樣前端只負(fù)責(zé)用node調(diào)api、前臺(tái)模版引擎render頁(yè)面、
一個(gè)項(xiàng)目、可以分開(kāi)從多個(gè)java服務(wù)器或者php服務(wù)器拿數(shù)據(jù)、
比如20個(gè)java接口、20個(gè)php接口、node拿到的格式都是按文檔上來(lái)的
回答2:前后端的所有聯(lián)系都經(jīng)過(guò)API
回答3:后端只提供數(shù)據(jù),其他所有操作交給前端嗎,這樣理解基本沒(méi)錯(cuò)。
回答4:http://blog.jobbole.com/65513/
回答5:理解的沒(méi)錯(cuò),簡(jiǎn)單說(shuō)下之前未分離時(shí),模板在后端,js和css在前端,導(dǎo)致每次修改樣式和功能都需要改動(dòng)到后端工程分離后,后端只提供api接口,前端處理模板和樣式再有就是前端利用nodejs做分離,通常這種情況下nodejs是很薄的一層,只負(fù)責(zé)路由,接口轉(zhuǎn)發(fā)、合并、清洗等簡(jiǎn)單的功能
回答6:前端:負(fù)責(zé)View和Controller層,后端:只負(fù)責(zé)Model層,業(yè)務(wù)處理/數(shù)據(jù)等
