什么是服務端渲染 (SSR)?
服務端渲染:頁面渲染過程是在服務端完成,最終的HTML字符串,直接通過請求發送給客戶端。
vue官方:服務器渲染的 Vue.js 應用程序也可以被認為是"同構"或"通用",因為應用程序的大部分代碼都可以在服務器和客戶端上運行。
客戶端渲染:客戶端請求頁面時,返回是空HTML,通過請求完js,css等,在客戶端進行渲染(瀏覽器)。
SSR的優勢
服務器端渲染的優勢就是容易 SEO,首屏加載快,因為客戶端接收到的是完整的 HTML 頁面。
利於SEO:不同爬蟲工作原理類似,只會爬取源碼,不會執行網站的任何腳本(Google除外,據說Googlebot可以運行javaScript)。
首屏加載快:首頁是通過node加載的HTML字符串,用戶直接可以看到完整HTML,所以更快。
缺點
渲染過程在后端完成,那么肯定會耗費后端資源。費流量,即使局部頁面的變化也需要重新發送整個頁面。同時學習成本也相對於提高了,以nuxtjs來說,你需要會node和koa2等。
客戶端渲染
優勢是:節省后端資源,局部刷新頁面,多端渲染,前后端分離。
缺點是:首屏性能差,白屏,無法(或很難)進行 SEO等。
借用狼叔的話:toB的無所謂,toC的還是必要的。另外從統一技術棧的角度看,同時支持2B和和2C還是必要的。所以,有意義的,而且是必要的組成部分。pc端也能用react,無論復用價值,還是對開發的技能成長都非常有價值。
參考更多討論:https://www.zhihu.com/question/308792091