nuxt logo

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

Nuxt.js
Version:v3.17

Motor de Servidor

Nuxt é alimentado por um novo motor de servidor: Nitro.

Ao construir o Nuxt, criamos um novo motor de servidor: Nitro.

Ele vem com muitos recursos:

  • Suporte multiplataforma para Node.js, navegadores, service workers e mais.
  • Suporte serverless pronto para uso.
  • Suporte a rotas de API.
  • Divisão automática de código e carregamento assíncrono de chunks.
  • Modo híbrido para sites estáticos + serverless.
  • Servidor de desenvolvimento com recarregamento de módulo a quente.

Camada de API

Os endpoints de API do servidor e o Middleware são adicionados pelo Nitro, que usa internamente o h3.

Os principais recursos incluem:

  • Os manipuladores podem retornar diretamente objetos/arrays para uma resposta JSON tratada automaticamente
  • Os manipuladores podem retornar promessas, que serão aguardadas (res.end() e next() também são suportados)
  • Funções auxiliares para análise de corpo, manipulação de cookies, redirecionamentos, cabeçalhos e mais

Confira a documentação do h3 para mais informações.

Veja também guide > directory-structure > server#server-routes

Chamadas Diretas de API

O Nitro permite chamadas 'diretas' de rotas através do helper $fetch disponível globalmente. Isso fará uma chamada de API para o servidor se executado no navegador, mas chamará diretamente a função relevante se executado no servidor, economizando uma chamada de API adicional.

A API $fetch usa ofetch, com recursos principais incluindo:

  • Análise automática de respostas JSON (com acesso à resposta bruta, se necessário)
  • O corpo da solicitação e os parâmetros são tratados automaticamente, com cabeçalhos Content-Type corretos

Para mais informações sobre os recursos de $fetch, confira ofetch.

Rotas de API Tipadas

Ao usar rotas de API (ou middleware), o Nitro gerará tipagens para essas rotas, desde que você esteja retornando um valor em vez de usar res.end() para enviar uma resposta.

Você pode acessar esses tipos ao usar $fetch() ou useFetch().

Servidor Independente

O Nitro produz uma distribuição de servidor independente que é independente de node_modules.

O servidor no Nuxt 2 não é independente e requer parte do núcleo do Nuxt para ser envolvido ao executar nuxt start (com as distribuições nuxt-start ou nuxt) ou uso programático personalizado, o que é frágil e propenso a falhas e não é adequado para ambientes serverless e service worker.

O Nuxt gera essa distribuição ao executar nuxt build em um diretório .output.

A saída contém código de runtime para executar seu servidor Nuxt em qualquer ambiente (incluindo service workers experimentais de navegador!) e servir seus arquivos estáticos, tornando-o um verdadeiro framework híbrido para o JAMstack. Além disso, o Nuxt implementa uma camada de armazenamento nativa, suportando drivers de múltiplas fontes e ativos locais.

Veja também github.com > nitrojs > nitro