nuxt logo

Tradução da Documentação (Não Oficial)

Servidor

Construa aplicações full-stack com o framework de servidor do Nuxt. Você pode buscar dados do seu banco de dados ou de outro servidor, criar APIs, ou até mesmo gerar conteúdo estático do lado do servidor, como um sitemap ou um feed RSS - tudo a partir de uma única base de código.

Veja também guide > directory-structure > server

Alimentado por Nitro

Motor do servidor

O servidor do Nuxt é o Nitro. Ele foi originalmente criado para o Nuxt, mas agora faz parte do UnJS e está aberto para outros frameworks - e pode até ser usado sozinho.

Usar o Nitro dá superpoderes ao Nuxt:

  • Controle total da parte do servidor da sua aplicação
  • Implantação universal em qualquer provedor (muitos sem configuração)
  • Renderização híbrida

O Nitro usa internamente o h3, um framework HTTP minimalista construído para alta performance e portabilidade.

Endpoints do Servidor & Middleware

Você pode gerenciar facilmente a parte exclusiva do servidor da sua aplicação Nuxt, desde endpoints de API até middleware.

Tanto os endpoints quanto o middleware podem ser definidos assim:

server/api/test.ts
export default defineEventHandler(async (event) => {
  // ... Faça o que quiser aqui
})

E você pode retornar diretamente text, json, html ou até mesmo um stream.

Pronto para uso, ele suporta substituição de módulo a quente e importação automática como as outras partes da sua aplicação Nuxt.

Veja também guide > directory-structure > server

Implantação Universal

O Nitro oferece a capacidade de implantar sua aplicação Nuxt em qualquer lugar, desde um servidor bare metal até a rede de borda, com um tempo de início de apenas alguns milissegundos. Isso é rápido!

Veja também blog > nuxt-on-the-edge

Existem mais de 15 predefinições para construir sua aplicação Nuxt para diferentes provedores de nuvem e servidores, incluindo:

Ou para outros runtimes:

Veja também getting-started > deployment

Renderização Híbrida

O Nitro tem um recurso poderoso chamado routeRules que permite definir um conjunto de regras para personalizar como cada rota da sua aplicação Nuxt é renderizada (e mais).

nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    // Gerado no tempo de build para fins de SEO
    '/': { prerender: true },
    // Cacheado por 1 hora
    '/api/*': { cache: { maxAge: 60 * 60 } },
    // Redirecionamento para evitar 404
    '/old-page': {
      redirect: { to: '/new-page', statusCode: 302 }
    }
    // ...
  }
})
Veja também guide > concepts > rendering#hybrid-rendering

Além disso, existem algumas regras de rota (por exemplo, ssr, appMiddleware e noScripts) que são específicas do Nuxt para alterar o comportamento ao renderizar suas páginas em HTML.

Algumas regras de rota (appMiddleware, redirect e prerender) também afetam o comportamento do lado do cliente.

O Nitro é usado para construir a aplicação para renderização do lado do servidor, bem como pré-renderização.

Veja também guide > concepts > rendering