SSR、SSG 还是 CSR:别急着选,先看这四点

每次新开一个项目,总有人问:「我们用 SSR 还是 CSR?」

这个问题没有标准答案,但我发现,只要先想清楚四件事,答案自己就冒出来了。

先把三个词说人话

  • CSR(客户端渲染):服务器先甩给你一个空壳 HTML,真正的页面靠浏览器里的 JS 现画。像是一个空房间,家具到家才摆。
  • SSR(服务端渲染):每次有人访问,服务器现场把完整 HTML 拼好再发过来。访客拿到手就是装修好的房间。
  • SSG(静态生成):提前把每个页面都生成好静态文件,访问时直接发文件。相当于把房间先布置好,谁来看都一样。

判断标准一:内容多久变一次

文章一个月不更新?那 SSG 最香——生成一次,全球 CDN 直接发,又快又省。

内容是实时的(比如股票、库存)?那得 SSR 或者 CSR,每次都现取最新数据。

判断标准二:要不要被搜索引擎收录

博客、文档、产品页,都希望被搜到。这类页面最好 SSR 或 SSG,让爬虫一打开就能看到完整文字。

如果是后台管理系统(要登录才看得到),搜不搜得到无所谓,CSR 完全没问题。

判断标准三:交互有多重

页面就是看看文章、点个链接?SSR/SSG 足够。

如果满屏都是拖拽、实时协作、复杂状态,CSR 更顺手,因为交互逻辑本来就在浏览器里。

判断标准四:团队熟不熟

这点最实在。一个你从没用过的方案,再「先进」也可能把你坑哭。选团队能 hold 住的,比选「理论上最优」的重要得多。

一张可以直接抄的速查表

场景 推荐
个人博客 / 文档 SSG
电商商品页(海量、常更新) SSR 或 SSG + 增量更新
后台管理系统 CSR
强交互工具(在线编辑器) CSR

一个反例

我曾经给一个几乎不改内容的站点上了 SSR。结果每次访问都要服务器现拼页面,比直接发静态文件还慢半拍。

后来改成 SSG,速度一下子上去了。有时候「更先进」的方案,反而不如「更合适」的。

小结

别一上来就纠结名词。先回答自己四个问题:内容多久变、要不要 SEO、交互多复杂、团队熟不熟。答案清楚了,选什么自然就清楚了。