如何使用nodejs实现前后端分离?
目前我开发的系统中,nodejs负责后端逻辑API、业务路由、渲染web前端和前端的路由关系。
结果一切都围绕着nodejs转,完全谈不上分离。
优秀的nodejs的前后端分离方案应该是怎么样的?
PS1:
现在不是很多人都在推崇使用nodejs等后端对前端进行渲染来提高加载效率吗?
如果单是做前后端分离所有请求就都用AJAX就搞定了,但是效率问题又来了。
如果把前端页面都做成模板(我用的是ejs),前后端的耦合度又太高了。
不知应如何处理这个问题,有没有成型的方案,毕竟我资历比较浅,处理不好这种问题。
PS2:
因为nodejs+前后端分离+全栈这几个概念比较火
就想着能不能利用nodejs知识 尝试一下新的东西
最好以后能同时比较好的管理webapp之类的跨平台项目的框架
(算是一劳永逸?!)
http://ued.taobao.org/blog/category/bowen/frontend/
淘寶UED的這個方案其實是把Node當成大前端的一部分來的。
用用angular,就行啦,前端業務邏輯在angular的controller裡完成,用$http去向node請求資料。
Nodejs只渲染頁面,資料由java提供
有好的答案嗎?
我也在思考這個問題,前後端分離實踐中,讓nodejs單獨作為頁面模板渲染來用,但具體是怎麼用,怎麼和前端MVVM的框架結合用,如何進行共享路由?
淘寶提到了xTemplate的意思是在Node層獲取了資料後直接用xTemplate進行頁面模板渲染嗎?那前端MVVM框架就不用路由了還是怎麼說?
如果後端也用Nodejs,單獨寫api也覺得有點怪怪的
我現在在用vuejs.
很困惑,不知道幾個月過來題主是否已經有答案了?感謝感謝
回答:
目前的分離重點就是在於讓前端去用node渲染模板頁面,題主想用全棧nodejs又想分離的話,依舊是將後端API用Nodejs來實現,前端還是用Nodejs去渲染,這就實現了分離了,只要你不是一個人在做事情,團隊即使用同一種語言做前後端,也是無妨礙的,至少分工是明確清晰的,
前後端分離並不在意我們用什麼技術去實現後端API,都是可以的,重點在於前端需要比以往承擔更多工作,即獲取資料渲染頁面模板,以此讓前後端擺脫以往模糊不清程式碼交織的狀況,從而實現分離工作。