devterview_$ iniciar simulação

SvelteKit: `load` no servidor x universal

MédioPlenoSvelteKit

Pergunta

No SvelteKit, qual a diferença entre um `load` em `+page.server.ts` e em `+page.ts`?

Resposta esperada

`+page.server.ts` → `load` roda SÓ no servidor (no SSR e em navegações client-side ele vira uma chamada fetch ao servidor por baixo). Use pra: acessar banco direto, ler segredos/env privadas, cookies/sessão, qualquer coisa que não pode ir pro cliente. O retorno tem que ser serializável (vai pela rede). `+page.ts` (universal) → `load` roda no servidor no primeiro carregamento E no cliente nas navegações seguintes. Use pra: buscar de uma API pública, lógica sem segredo, quando você quer evitar o hop extra ao servidor na navegação client-side. Pode retornar coisas não-serializáveis (um componente, uma classe). Regra: precisa de segredo/DB/cookie → server; API pública ou dado que pode ser buscado do browser → universal.

Por que perguntam isso

Pergunta pleno de SvelteKit. Paralelo com Server/Client Components do Next e loaders do TanStack. Sinal bom: 'retorno serializável no server load'.

#sveltekit#load#ssr
publicidade

Relacionadas