> ## 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).

# Cómo alojar una aplicación Nuxt (Nitro)

# Cómo alojar aplicaciones Nuxt en Square Cloud

Nuxt utiliza un motor de renderizado integrado llamado **Nitro** para compilar y preparar la aplicación para producción. Para alojarlo en Square Cloud, solo necesitas generar el build del proyecto, apuntar al archivo de entrada correcto y configurar el puerto por defecto del sistema.

---

## 1. Ejecutando el build de producción

Antes de enviar los archivos a Square Cloud, la aplicación necesita compilarse para que todo el código Vue y TypeScript se optimice.

Abre la terminal en la raíz de tu proyecto local y ejecuta el comando:
```bash
npm run build
```

Este comando activará Nitro, creando una carpeta oculta llamada **`.output/`** en la raíz de tu proyecto. Es exactamente dentro de esa carpeta donde reside todo el código de tu servidor de producción.

---

## 2. Definiendo el archivo principal (Main)

Las aplicaciones Nuxt en producción no utilizan un archivo común como `index.js` o `server.js` en la raíz. El punto de entrada generado por el compilador es **`.output/server/index.mjs`**.

En tu archivo de configuración `squarecloud.app` (o directamente en el formulario del Dashboard de Square Cloud), debes definir el campo correspondiente al archivo principal exactamente así:
```text
MAIN=.output/server/index.mjs
```

---

## 3. ¿Qué incluir en el archivo de upload (.zip)?

Para garantizar un deploy rápido y limpio, crea un archivo `.zip` que contenga solo los artefactos generados para la ejecución de producción.

*   **Qué INCLUIR:** La carpeta **`.output/`** completa (asegúrate de que tu compresor no ignore las carpetas que empiezan con punto), el archivo **`package.json`** y tu lockfile (**`package-lock.json`** o `yarn.lock`).
*   **Qué EXCLUIR:** Nunca incluyas la carpeta `node_modules` ni la carpeta `.nuxt/` (usada solo en modo de desarrollo). Square Cloud hará la instalación limpia y aislada de las dependencias necesarias directamente en el servidor.

---

## 4. Resolución de problemas comunes

*   **Error "El sitio tardó en responder":** Si intentas acceder a la URL de tu aplicación y te encuentras con ese mensaje de tiempo de espera agotado (*timeout*), esto **suele estar directamente vinculado a que el sitio está usando el puerto equivocado**. Por defecto, el motor Nitro de Nuxt intenta abrir el servidor en el puerto `3000`. Como la infraestructura de Square Cloud espera y dirige el tráfico externo únicamente a través del puerto `80`, la red no consigue encontrar tu aplicación, haciendo que el navegador desista tras un tiempo esperando. Para corregirlo, revisa tu código y garantiza que la variable `PORT` está definida exactamente como `80`.