伺服器端渲染SSR的優缺點?
關於SSR你需要關注:
1. 首次重要的繪製。單靠SSR並不能保證良好的效果,還需要關鍵的CSS和靠近客戶端。
2. 支援SEO,支援Twitter和Facebook等其他機器人
3. 優雅的退化。這樣能確保你的服務在沒有JS的情況下也是可用
有什麼難的?
SSR就像一個新的維度,無論你使用什麼,你都需要為SSR重新配置。
1. 用componentDidMount來獲取資料嗎?你就需要使用類似getInitialProps(來自next.js或after.js)或狀態管理庫(如Redux),這些要放在伺服器上執行。
2. 用Router嗎?你需要在伺服器上配置它
3. 用i18n嗎?你需要在伺服器上配置它
4. 使用HMR嗎?你需要為瀏覽器和伺服器重新載入程式碼
5. 用react-helmet嗎?需要在伺服器上配置它
6. 是否使用react-loadable?需要配置伺服器以傳遞使用的模組,這樣客戶端可以預載入它們
7. 使用Redux嗎?您需要序列化儲存並將其傳遞給客戶端
8. 使用CSS-in-JS嗎?需要在伺服器上配置它,生成關鍵CSS並在HTML響應中內聯它
不要以為這些都是可以解決的,好像Next.js和Razzle已經解決了大部分問題,我想告訴你的是SSR如何將所有事情加倍(另一個維度),並且大部分時間都需要樣板來處理所有事情。
第一次重要的繪製
如果正在進行SSR,這並不意味著你能獲得開箱即用的第一次重要的繪製。
1. 你的設定是否有為第一個位元組這是好時間?如果你的伺服器執行緩慢或過載 - 你會遇到問題,確保使用最新節點,縮小伺服器程式碼,使用流式渲染,最佳化子查詢(資料庫或網路)(如果有)。
2。 你提供關鍵的CSS嗎?否則,瀏覽器無法開始呈現頁面。
3. 你使用網路字型嗎?如果是的話,你會最佳化嗎?
4. 伺服器是否靠近客戶端?如果您的伺服器在歐洲,但客戶端在日本,SSR將無法幫助您。使用CDN服務,但是如果由於法律限制而無法將伺服器移近客戶端怎麼辦?
5. 你確定沒有不必要的重定向嗎?重新定向減慢速度。
6. SSR不是第一次重要繪製渲染的銀彈。如果你的後端很慢或很遠,你需要檢查"shell"包括CDN是否能更好地工作。你可以使用react-snap之類的東西來預呈現靜態頁面併為其他頁面生成“shell”。
7. 如果您的網站更加靜態,您可以使用預渲染而不是SSR。使用react-static或gatsby或react-snap。
SEO
這裡有3個選項:
1. SSR
2. 預渲染,如react-snap, react-static, gatsby 等。
3. 根據需求進行預渲染,如rendertron,puppetron,pupperender等。
如果可以,請選擇預渲染。如果您唯一關注的是SEO,那麼隨時都可以輕鬆使用預渲染。
優雅的退化
這個很棘手,這真的取決於你想要降到多少級?
1. 你想支援連結嗎?
2. 是否想要支援下拉選單,就像在https://www.seek.com.au/中一樣?你需要使用CSS和核取方塊的一些技巧
3. 你想要支援表格嗎?除了現有的JSON API之外,您還需要端點來處理這些表單
4. 沒有JS的一些功能非常難,比如組合框或地圖
結論
SSR很好,試一試。請確保您的使用者真正從中受益。
如果您不能使用SSR而是嘗試預渲染器,有時它是最簡單的選擇。
相關文章
- 基於VUE的伺服器端渲染(SSR)Vue伺服器
- vue伺服器端渲染(SSR)實戰Vue伺服器
- React SSR(伺服器端渲染) 細微探究React伺服器
- 細說後端模板渲染、客戶端渲染、node 中間層、伺服器端渲染(ssr)後端客戶端伺服器
- 帶你走近Vue伺服器端渲染(VUE SSR)Vue伺服器
- React伺服器渲染SSR,你缺的不是教程,是產品級完整案例React伺服器
- 雲伺服器的優缺點伺服器
- 代理伺服器的優缺點伺服器
- webpack4、Koa配置Vue伺服器端渲染(SSR)WebVue伺服器
- Vue 服務端渲染(SSR)Vue服務端
- SSR後端渲染和CSR前端渲染的區別後端前端
- 基於vue現有專案的伺服器端渲染SSR改造Vue伺服器
- 前後端分離的優缺點後端
- 實現SSR服務端渲染服務端
- 什麼是實時渲染,3D實時渲染的優缺點3D
- DHCP伺服器的優缺點簡介伺服器
- 伺服器使用CDN加速的優缺點伺服器
- 手動為 SAP Spartacus 新增 SSR 即伺服器端渲染的步驟伺服器
- 實現ssr服務端渲染demo服務端
- 【知識分享】DNS伺服器的優缺點DNS伺服器
- 虛擬伺服器的優缺點有哪些?伺服器
- React + Koa 實現服務端渲染(SSR)React服務端
- React16.x中的服務端渲染(SSR)React服務端
- Docker的優缺點Docker
- 臺灣伺服器的優缺點是什麼?伺服器
- 對比分析--淺析SSR(服務端渲染)和SPA(客戶端渲染)服務端客戶端
- docsify 4.0 釋出,支援服務端渲染(SSR)服務端
- Jtti分享分散式儲存伺服器的優缺點Jtti分散式伺服器
- 海外BGP線路伺服器的優勢和缺點伺服器
- 內聯的優缺點
- 繼承的優缺點繼承
- MySQL索引的優缺點MySql索引
- Hive 優缺點Hive
- MapReduce優缺點
- RabbitMQ優缺點MQ
- 節點快取的優缺點快取
- MyBatis的優缺點以及特點MyBatis
- 繼承的優點和缺點繼承