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()
enext()
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-routesChamadas 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※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/guide/concepts/server-engine