onServerPrefetch() Pré-busca de dados no servidor (SSR)

Última atualização: 2026-10-22

onServerPrefetch() Pré-busca de dados no servidor (SSR)

onServerPrefetch() só executa durante a renderização no servidor: o HTML só é renderizado depois que ele termina, usado para pré-buscar dados assíncronos na fase de SSR.

GrupoHooks de Ciclo de Vida
TipoAPI
EscopoNo Componente
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

onServerPrefetch(async () => {
  store.items = await fetchItems()
})

⚙️ Argumentos

callbackPode retornar uma Promise; o SSR espera a conclusão

Retorno:Promise ou undefined

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

Shows the notice — the hook only runs under SSR.

💡 Pontos-chave

ℹ️ Nota Somente para cenários SSR: aplicações puramente client-side (SPA com Vite) não precisam dele.
💡 Dica Combinado com o store do Pinia/Vuex para pré-buscar dados, é a prática padrão de SSR manual fora do Nuxt.
⚠️ Aviso Não acesse o DOM internamente: o servidor não tem DOM, o que causa erro direto.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Projetos SPA precisam dele?
R Não precisa; só executa no fluxo de renderização do servidor (SSR/SSG).
P Os dados são passados ao cliente?
R Sim: o estado do servidor é entregue ao cliente por serialização/reidratação (hydration) para reutilização.
P Dá para fazer várias requisições em paralelo?
R Sim, os onServerPrefetch de vários componentes esperam em paralelo; ainda melhor com encapsulamentos como useAsyncData.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%