Skip to main content

Introducción

Para desarrollar y alojar una aplicación Angular en Square Cloud, es esencial seguir una secuencia estructurada de configuraciones y requisitos previos. Esta guía técnica cubrirá todo el proceso, desde la configuración inicial hasta el despliegue en producción.

Requisitos previos

  • Cuenta de Square Cloud: Regístrate a través de la página de registro usando tu correo electrónico.
  • Plan activo: Garantiza recursos dedicados y un rendimiento optimizado para tu aplicación. Consulta nuestros planes disponibles y elige el más adecuado para tus necesidades.
Esta guía usa el runtime estático o el runtime de Node.js. Probado con Angular 22 en Node.js 24 en septiembre de 2026.

Crear el proyecto

Necesitas Node.js y npm en tu máquina. Si no los tienes, descárgalos desde el sitio oficial de Node.js. Instala la CLI de Angular y crea un proyecto:
La CLI pregunta por el formato de hojas de estilo y si quieres activar el renderizado en el servidor (SSR). Responde No al SSR para un sitio estático, la configuración más simple; si respondes Yes, consulta Renderizado en el servidor más abajo. ng new instala las dependencias por ti. Inicia el servidor de desarrollo con ng serve (escucha en http://localhost:4200) y edita src/app/app.html para cambiar la página de inicio.

Compilar para producción

ng build usa la configuración de producción por defecto. Escribe el sitio en dist/my-angular-app/browser. Si tu proyecto tiene otro nombre, reemplaza my-angular-app en las rutas de abajo.

Elegir cómo servirlo

Sin SSR, un build de Angular es un sitio estático: archivos HTML, CSS y JavaScript que cualquier servidor web puede entregar. Elige una de estas opciones:
El runtime estático sirve los archivos de tu build con un servidor web gestionado por Square Cloud. No se ejecuta ningún proceso de Node.js, así que es la forma más ligera de alojar un sitio sin código del lado del servidor.
1

Compila el sitio

Ejecuta npm run build. La salida va a la carpeta dist/my-angular-app/browser.
2

Mantén funcionando las rutas del cliente

Si tu app cambia de página en el navegador sin recargar (enrutamiento del lado del cliente), renombra dist/my-angular-app/browser/index.html a vite.html. El runtime estático responde con vite.html a toda ruta que no sea un archivo, así que recargar una ruta como /about sigue cargando tu app. Un sitio con un archivo HTML por página conserva index.html: las rutas desconocidas devuelven entonces tu 404.html. Consulta cómo sirve los archivos el runtime estático.
3

Añade el archivo de configuración

Crea un archivo squarecloud.app dentro de dist/my-angular-app/browser. Un MAIN que apunta a un archivo HTML selecciona el runtime estático:
squarecloud.app
Usa MAIN=index.html si conservaste index.html. 512 MB es la memoria mínima para un sitio web. Cuando subes por el dashboard, te pide estos valores y escribe el archivo por ti.
4

Comprime la salida del build

Comprime el contenido de dist/my-angular-app/browser, no la carpeta en sí, para que squarecloud.app quede en la raíz del ZIP. Con la CLI, ejecuta squarecloud upload desde dentro de dist/my-angular-app/browser.
Todo lo que está en el ZIP es público en tu sitio. Sube solo la salida del build, nunca tu código fuente ni archivos .env.
La mayoría de las herramientas de build vacían dist/my-angular-app/browser en cada build. Guarda una copia de squarecloud.app en la carpeta que tu framework copia sin cambios al build (public/ en proyectos basados en Vite), o repite los tres últimos pasos después de cada build.

Renderizado en el servidor (SSR)

Un proyecto creado con SSR (o con ng add @angular/ssr) también compila un servidor Node.js en dist/my-angular-app/server. Ese servidor lee la variable de entorno PORT, que Square Cloud define como 80, y escucha en todas las interfaces de red, así que no necesitas cambiarlo. Inícialo con START en tu squarecloud.app:
squarecloud.app
El servidor SSR de Angular solo responde a solicitudes de los nombres de host que permitas; cualquier otro host recibe un 400 Bad Request. Añade tu dirección a la variable de entorno NG_ALLOWED_HOSTS, por ejemplo my-angular-app.squareweb.app (separa varios hosts con comas), o inclúyela en security.allowedHosts en angular.json antes de compilar. Ejecuta ng build antes de crear tu ZIP. El ZIP necesita package.json, squarecloud.app y la carpeta dist/, sin node_modules: Square Cloud instala las dependencies de tu package.json, que ya incluyen express y @angular/ssr.

Hacer deploy y verificar

Crea el ZIP descrito en la opción que elegiste y súbelo:

A través del panel

1

Accede a la página de subida

Accede a la página de subida y sube el archivo zip de tu proyecto.
2

Configura tu entorno

Después de subir tu zip, deberás configurar el nombre, el archivo principal o el entorno de ejecución y otros ajustes de tu proyecto.
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
3

Despliega tu proyecto

Por último, haz clic en el botón “Deploy” para alojar tu proyecto en Square Cloud.
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.
Subiendo aplicación a Square Cloud
4

Confirma que tu aplicación esté en vivo

Tu primer despliegue suele tardar menos de un minuto. En el dashboard, espera a que el estado de tu aplicación muestre “running” y revisa los logs por si hay errores de inicio.
Si desplegaste un sitio web o una API, abre https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

A través de la CLI

Para usar este método, tu proyecto necesita un archivo de configuración llamado squarecloud.app en su raíz. Le indica a Square Cloud cómo ejecutar tu aplicación.

Guía del archivo de configuración

Aprende a crear el archivo de configuración squarecloud.app que define el entorno de tu aplicación.
1

Instala la CLI

Instala la CLI de Square Cloud. Si ya la tienes, ejecuta el mismo comando para actualizarla:
2

Inicia sesión

Ejecuta el comando de abajo. Abre tu navegador: aprueba el inicio de sesión allí y la CLI queda lista. No hay ninguna clave de API que copiar. Para scripts y CI, consulta autenticación de la CLI.
3

Sube tu proyecto

Desde la carpeta de tu proyecto, ejecuta el comando de abajo. La CLI comprime la carpeta actual en un zip, dejando fuera lo que lista squarecloud.ignore, y lo sube:
Para subir un zip que creaste tú mismo, pásalo con --file:
4

Confirma que tu aplicación esté en vivo

Tu primer despliegue suele tardar menos de un minuto. Revisa el estado y los logs de tu aplicación directamente desde la terminal:
Si desplegaste un sitio web o una API, abre https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

Errores comunes

Dominio personalizado

Para usar un dominio personalizado (por ejemplo, mysite.com) en lugar de la URL predeterminada mysite.squareweb.app, necesitas el plan Standard o superior. La URL predeterminada sale del campo SUBDOMAIN del archivo de configuración. Para conectar tu dominio, sigue cómo configurar tu propio dominio.

Requisitos mínimos de RAM

Mínimo: 512MB de RAM para sitios web y APIs, suficiente para un build estático en el runtime estático. Para apps que renderizan páginas en un servidor (Next.js, Nuxt, Angular SSR y similares), recomendamos al menos 1GB de RAM. Para aplicaciones más grandes, asigna más RAM para evitar que la aplicación se quede sin memoria y falle.

No se pudo encontrar este sitio.

Verifica que el subdominio/dominio coincida con lo configurado en el campo SUBDOMAIN o en la configuración del dominio personalizado. Si acabas de subir el sitio, espera hasta 60 segundos para que Square habilite el primer acceso.

El sitio tardó demasiado en responder…

Tu servidor debe escuchar en el puerto 80 y el host 0.0.0.0. Square Cloud define las variables de entorno PORT (80) y HOST (0.0.0.0) en tu aplicación: léelas en tu código en lugar de fijar otros valores. Un servidor que escucha solo en localhost o 127.0.0.1 nunca recibe solicitudes.

Recargar una ruta devuelve 404

Tu app usa el router de Angular y el servidor no conoce la ruta. En el runtime estático, renombra index.html a vite.html. Las opciones de Express y serve de arriba ya devuelven index.html para las rutas desconocidas.

El servidor SSR responde 400 Bad Request

El nombre de host de la solicitud no está en la lista permitida. Define NG_ALLOWED_HOSTS con tu subdominio o dominio personalizado y reinicia la aplicación.

Próximos pasos

Variables de entorno

Mantén secretos y ajustes fuera de tu código y léelos en tiempo de ejecución.

Dominio personalizado

Sirve tu app en tu propio dominio, desde el plan Standard.

Solución de problemas

Arregla una app que no inicia o un sitio que no responde.
Para saber más sobre Angular, consulta la documentación oficial de Angular.

Contáctanos

Si continúas enfrentando dificultades técnicas, nuestro equipo de soporte especializado está disponible para ayudarte. Contáctanos y estaremos encantados de ayudarte a resolver cualquier problema: la calidad del soporte es una gran parte de por qué los desarrolladores califican a Square Cloud con 4.9/5 en 402 reseñas en Google y Trustpilot.