ssr的官方好處是...
1. 更快的内容到达时间 (time-to-content),特别是对于缓慢的网络情况或运行缓慢的设备
2. 更好的 SEO(次要目的,也可以用prerender達成,而且配置上更簡單)
優點的部分(大眾好像都把主次要倒著說...)
- 主打 SEO,因為 CSR 不管輸入什麼,網頁一開始都是空的,很多搜尋引擎會不曉得你的網站裡面有什麼,就無法讓使用者透過關鍵字找到。但 SSR 在第一次載入時就會有內容在了,搜尋引擎表示非常滿意。
- 使用者看到第一個畫面的時間會比 CSR 快,效能也會更好,因為不需要再等 bundle.js 載入才開始 Render,而且第一次 Render 的所有事情(包含 call API)都是 Server 做的,Client 端就比較沒有負擔。
缺點的部分
- 學習門檻是要稍微了解 NodeJS,畢竟在 SSR 中 Server 是絕對必要的。如果還不會也沒關係,文章中會簡單的解釋如何實作。
- 因為第一次的 Render 是在 Server 上運行,所以如果有在 Component 或是其他運行到的地方使用到
window
的話就會出錯,這裡可以參考 這個 issue 的討論內容作為解決方案 - browser的API不可用,延伸出isomorphic javascript這個詞
例如: window.innerWidth不可用
Vue 'watch' has different performance in SSR and SPA
沒有留言:
張貼留言