妳需要使用reactive-router-config庫,可以根據路由匹配對應的組件,而獲取當前路由對應的組件是實現路由同步的關鍵,然後通過組件的靜態API方法獲取接口數據。
主要是服務器通過組件的靜態API方法獲取接口數據後創建壹個存儲,然後通過window傳遞給前端。商店=商店。
主要用途是將前端的js文件附加到服務器渲染的模板html文件中。
服務器渲染的應用場景:壹般只針對重要頁面做,比如首頁,可以提高首屏加載速度,有利於SEO。其他頁面其實還是CSR。
預渲染不像服務器渲染那樣實時編譯html。它只是在構建的時候為壹個特定的路由生成幾個特定的靜態頁面,也就是說我們可以在通過Webpack插件構建的時候把壹些特定的頁面組件編譯成HTML文件,直接輸出到搜索引擎作為靜態資源。
1,SPA變成MPA。
2.必須使用歷史路由而不是哈希路由,因此服務器經常需要為沒有預先呈現的頁面配置路由。例如,nginx的配置如下:
3.不支持動態路由,如/detail/:id,但可以用查詢路由代替,如/detail?id=
4.應用場景有限,我們能想到的就是骨架屏應用,比如首頁。為了速度,我們將使用壹些骨架屏幕組件。如果不進行預渲染,骨架屏組件會等到整個js文件加載完畢後再進行渲染,體驗並不好。如果預渲染完成,渲染將在加載html文件時開始。