Performance: Page options (SSR, CSR, prerender)
HIGH IMPACT
This affects how fast the main content appears and how quickly users can interact with the page.
export const ssr = true; <script context="module"> export async function load() { const res = await fetch('/api/data'); const data = await res.json(); return { props: { data } }; } </script> <script> export let data; </script> <main>{JSON.stringify(data)}</main>
export const ssr = false; <script> import { onMount } from 'svelte'; // fetch data on client only let data; onMount(async () => { const res = await fetch('/api/data'); data = await res.json(); }); </script> <main>{data ? JSON.stringify(data) : 'Loading...'}</main>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| CSR only | Minimal initial DOM, built on client | Multiple reflows as content loads | High paint cost on load | [X] Bad |
| SSR | Full DOM sent from server | Single reflow on load | Lower paint cost | [OK] Good |
| Prerender | Static full DOM | Single reflow on load | Lowest paint cost | [OK] Good |