全书目录

第三十篇:SvelteKit 完全指南 —— 轻量反应式剧场宇宙

第十四章:渲染模式 —— 这出戏到底怎么演给观众看

1 分钟 368 字 第 552 / 962 个阅读单元

SvelteKit 非常强的一点,是它不是死守一种渲染方式。
同一个剧院,不同场次可以用不同演法。

三种核心模式:

  • SSR
    • 观众一进门,舞台已经搭好
    • 首屏 HTML 由服务端给出
  • CSR
    • 浏览器接管后,后续换景主要在前台完成
  • prerender
    • 某些场景提前在构建时录成成片

可以这样理解:

text
SSR        = 现场先把舞台搭好再开门
CSR        = 进场后换景由前台导演快速调度
Prerender  = 事先录好固定场次,观众来时直接播放

SvelteKit 允许你在页面或布局级别做控制。

ts
// src/routes/landing/+page.ts
export const prerender = true;
ts
// src/routes/kiosk/+layout.ts
export const ssr = false;
ts
// src/routes/about/+page.ts
export const csr = false;

要记住几个稳定结论:

  • ssr = false 基本就是把那一片舞台改成 SPA
  • csr = false 表示页面不需要发客户端 JS,适合纯内容页
  • prerender = true 适合构建期就能确定内容的页面
  • 如果 ssrcsr 都是 false,那就什么都不会渲染出来

很多人犯的最大误区是:

text
我想要静态站
=> 把全站 ssr = false

这是错路。

如果你想做静态站,应该优先想的是:

text
能不能 prerender
能不能用 adapter-static

不是把它强行打成浏览器全接管的 SPA。