鍍金池/ 問答/PHP  HTML/ web前后端分離,首屏數(shù)據(jù)怎么快速加載?

web前后端分離,首屏數(shù)據(jù)怎么快速加載?

1.前后端分離,頁面首屏數(shù)據(jù)怎么渲染,要求數(shù)據(jù)和DOM同時(shí)渲染出來(ajax會(huì)導(dǎo)致dom節(jié)點(diǎn)先渲染,數(shù)據(jù)會(huì)慢一點(diǎn)渲染)。目前暫不清楚做法,如果用PHP代碼嵌套,那是不是違背了前后端分離思想。

注:首頁數(shù)據(jù)主要為新聞?lì)悢?shù)據(jù)。

回答
編輯回答
苦妄

你可以試試vue-router的路由懶加載,將模塊進(jìn)行拆分。

2017年3月13日 14:25
編輯回答
久舊酒

使用PHP代碼嵌套并不違背前后端分離思想。因?yàn)橐话闱昂蠖朔蛛x有一層中間層,可以使用node或者php等。中間層可以做很多操作,如: 接口代理, 路由控制, 服務(wù)端渲染... 其實(shí)你的問題就屬于服務(wù)端渲染,你使用上php并沒有任何問題。
另外其實(shí)你新聞相關(guān)頁面應(yīng)該使用類似這種組件處理react-placeholder

2018年3月4日 00:14
編輯回答
旖襯

如果使用php嵌套方式,就是混合模式開發(fā) 耦合性比較高,不易于后期修改與維護(hù),在初期加載可以運(yùn)用緩存 這樣速度就比較快,當(dāng)ajax獲取到數(shù)據(jù) 再修改界面渲染數(shù)據(jù)

2017年4月10日 16:20
編輯回答
敢試

我也覺得上面幾位說的對,服務(wù)端定時(shí)生成靜態(tài)化首頁,后面ajax更新dom節(jié)點(diǎn),本地緩存部分?jǐn)?shù)據(jù)
直覺應(yīng)該還有更好的辦法

2018年3月24日 20:55
編輯回答
安于心

數(shù)據(jù)慢一些是肯定的啊 既然用了ajax加載 你還不如做個(gè)loading的覆蓋頁 等ajax 加載完再去掉比較容易

2017年12月16日 19:46
編輯回答
念舊

純粹的前后分離本來就不適用于所有場景,不要為了分離而分離。既然你的需求用前后分離很難實(shí)現(xiàn)(確實(shí)可以實(shí)現(xiàn),只不過麻煩),那首頁就在后端渲染也并沒有什么問題啊。

如果純前端渲染又要 DOM 不提前顯示出來,可以用 CSS 將最外層 DIV 設(shè)置為 display: hidden,待加載完之后再改回 display: block。如果用了 UI 框架可能會(huì)有些坑,琢磨琢磨吧

2017年5月14日 02:55
編輯回答
卟乖

要最快只有靜態(tài)化 其它都只能是各種優(yōu)化 樓上幾位的解答都是很好的可以參考

2017年10月27日 23:31
編輯回答
落殤

要求數(shù)據(jù)和DOM同時(shí)渲染出來,只有在數(shù)據(jù)請求過來之前 body hide() ,隱藏掉,再加個(gè)loading了,

新聞?lì)?,可能圖片比較多,試試 lazyload.js

2017年12月4日 08:13
編輯回答
我以為

贊同樓上 @GhostCoder 意見,如果要求同時(shí)渲染,不用 ajax 的話,lazy 之類的就不在考慮之列了。關(guān)于是否要PHP代碼嵌套混編,看項(xiàng)目實(shí)際情況,盡量不要太死板,PHP 是一門很靈活的語言;話說回來,主頁如果是新聞數(shù)據(jù)的話,最快顯示頁面,大概就是做靜態(tài)化了。

2017年1月2日 04:09