> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como hospedar uma aplicação Nuxt (Nitro)

# Como hospedar aplicações Nuxt na Square Cloud

O Nuxt utiliza um motor de renderização integrado chamado **Nitro** para compilar e preparar a aplicação para produção. Para hospedá-lo na Square Cloud, você só precisa gerar o build do projeto, apontar para o arquivo de entrada correto e configurar a porta padrão do sistema.

---

## 1. Executando o Build de Produção

Antes de enviar os arquivos para a Square Cloud, a aplicação precisa ser compilada para que todo o código Vue e TypeScript seja otimizado.

Abra o terminal na raiz do seu projeto local e execute o comando:
```bash
npm run build
```

Esse comando acionará o Nitro, criando uma pasta oculta chamada **`.output/`** na raiz do seu projeto. É exatamente dentro dessa pasta que reside todo o código do seu servidor de produção.

---

## 2. Definindo o Arquivo Principal (Main)

Aplicações Nuxt em produção não utilizam um arquivo comum como `index.js` ou `server.js` na raiz. O ponto de entrada gerado pelo compilador fica localizado dentro da estrutura de saída.

*   **Caminho do Arquivo:** `.output/server/index.mjs`

No seu arquivo de configuração `squarecloud.app` (ou diretamente no formulário do Dashboard da Square Cloud), você deve definir o campo correspondente ao arquivo principal exatamente assim:
```text
MAIN=.output/server/index.mjs
```

---

## 3. O que incluir no arquivo de upload (.zip)?

Para garantir um deploy rápido e limpo, crie um arquivo `.zip` contendo apenas os artefatos gerados para a execução de produção.

*   **O que INCLUIR:** A pasta **`.output/`** inteira (certifique-se de que seu compactador não ignore pastas que começam com ponto), o arquivo **`package.json`** e o seu lockfile (**`package-lock.json`** ou `yarn.lock`).
*   **O que EXCLUIR:** Nunca inclua a pasta `node_modules` ou a pasta `.nuxt/` (usada apenas em modo de desenvolvimento). A Square Cloud fará a instalação limpa e isolada das dependências necessárias diretamente no servidor.

---

## 4. Resolução de Problemas Comuns

*   **Erro "O site demorou para responder":** Se você tentar acessar a URL da sua aplicação e se deparar com essa mensagem de tempo limite esgotado (*timeout*), isso **costuma estar diretamente vinculado ao site estar usando a porta errada**. Por padrão, o motor Nitro do Nuxt tenta abrir o servidor na porta `3000`. Como a infraestrutura da Square Cloud espera e direciona o tráfego externamente apenas através da porta `80`, a rede não consegue encontrar a sua aplicação, fazendo com que o navegador desista após um tempo esperando. Para corrigir, revise seu código e garanta que a variável `PORT` está definida exatamente como `80`.