SvelteKit 非常强的一点,是它不是死守一种渲染方式。
同一个剧院,不同场次可以用不同演法。
三种核心模式:
SSR- 观众一进门,舞台已经搭好
- 首屏 HTML 由服务端给出
CSR- 浏览器接管后,后续换景主要在前台完成
prerender- 某些场景提前在构建时录成成片
可以这样理解:
SSR = 现场先把舞台搭好再开门
CSR = 进场后换景由前台导演快速调度
Prerender = 事先录好固定场次,观众来时直接播放SvelteKit 允许你在页面或布局级别做控制。
// src/routes/landing/+page.ts
export const prerender = true;// src/routes/kiosk/+layout.ts
export const ssr = false;// src/routes/about/+page.ts
export const csr = false;要记住几个稳定结论:
ssr = false基本就是把那一片舞台改成 SPAcsr = false表示页面不需要发客户端 JS,适合纯内容页prerender = true适合构建期就能确定内容的页面- 如果
ssr和csr都是false,那就什么都不会渲染出来
很多人犯的最大误区是:
我想要静态站
=> 把全站 ssr = false这是错路。
如果你想做静态站,应该优先想的是:
能不能 prerender
能不能用 adapter-static不是把它强行打成浏览器全接管的 SPA。