Angular 各種渲染模式完整介紹與比較
英文縮寫 | 全名 | 中文名稱 | Angular 對應技術 |
CSR | Client-Side Rendering | 客戶端渲染 | 預設 Angular 架構(SPA) |
SSR | Server-Side Rendering | 伺服器端渲染 | Angular Universal |
SSG | Static Site Generation | 靜態網站生成 | Angular Universal prerender |
ISR | Incremental Static Regeneration | 增量式靜態再生 / 靜態增量更新 | 使用 @rx-angular/isr 套件實現 |
頁面先下載空白 HTML 和 JS
Angular 在瀏覽器中啟動,動態生成畫面
⚡ 快速開發、部署簡單
🔄 客戶端互動性佳
📦 前端打包一次即可部署到 CDN
🐌 首屏載入較慢
❌ SEO 表現差(搜尋引擎抓不到動態內容)
登入後的管理後台、SPA 應用
SEO 不重要的系統
伺服器接到請求後即時產出 HTML,再交給使用者
使用 Angular Universal 套件實作
✅ 首屏渲染快
✅ 良好的 SEO
🌐 支援社群分享預覽(FB、Line)
🧮 每次請求都需後端運算(伺服器負擔重)
🛠 開發與部署複雜(需要 Node server)
SEO 敏感頁面,如首頁、新聞、電商商品頁
動態內容需要每次都即時顯示
開發時預先產生好 HTML
發布時部署純靜態檔案(無需伺服器)
🚀 載入速度超快
🆓 免伺服器,支援 CDN
✅ 良好 SEO
⏱ 每次更新都要重新 build、重新部署
不適合資料頻繁變動的網站
Blog、說明頁面、常駐內容頁
發布前可確定內容的頁面
和 SSG 一樣先預產生 HTML
但允許 HTML 到期後在背景「再生」新的版本
由 @rx-angular/isr
套件支援
✅ 快速首屏 + SEO 佳
✅ 不需要重建整站
♻️ 背景更新資料,不影響使用者體驗
📉 減輕伺服器壓力
🛠 需整合 Angular Universal + ISR 套件
對快取控管要小心
資料偶爾會變更的商品頁、新聞頁
想要 SEO + 快速載入 + 低成本的最佳解法
模式 | 首屏速度 | SEO 友善 | 開發難度 | 資料即時性 | 適合場景 |
---|---|---|---|---|---|
CSR | 🟡 中 | 🔴 差 | 🟢 簡單 | 🟢 佳 | 管理後台、SPA |
SSR | 🟢 快 | 🟢 好 | 🔴 較複雜 | 🟢 即時 | 首頁、搜尋頁、動態頁 |
SSG | 🟢 超快 | 🟢 好 | 🟡 中等 | 🔴 重新建置需時間 | 說明頁、公司網站 |
ISR | 🟢 超快 | 🟢 好 | 🟡 中等 | 🟢 還不錯 | 電商頁、常更新但不是秒級需求 |