S

super-dev — full-stack

@super-dev.app · Full-stack · ★ disponible para proyectos
12,8k suscriptores·47 vídeos·Activo desde 2017

Desarrollador full-stack .NET / Angular con perfil DevOps en Azure Cloud. También cómodo con Flutter + Firebase. Construyo productos, los despliego, los monitorizo.

Volver a los artículos
AZURE
AZURE

Desplegar un SPA Angular prerenderizado (SSG) en Azure Static Web Apps

Artículo 1 de 6 — Azure DevOps desde cero
Prerender, Container Apps, secrets, CI/CD, Docker, observabilidad: desplegar en Azure sin servidor ni dolor.

Un SPA Angular clásico envía una página en blanco a los crawlers: mientras el JS no se haya ejecutado, no hay nada que indexar. La generación de sitios estáticos (SSG) lo resuelve prerenderizando cada ruta a HTML en la compilación. Combinada con Azure Static Web Apps , se obtiene un sitio sin servidor, instantáneo y perfectamente indexado.

Prerender nativo, sin servidor Node

Desde @angular/ssr , el modo outputMode: 'static' prerenderiza todas las rutas en la compilación y solo emite archivos estáticos — ningún servidor Node que alojar. Esto es lo que hace trivial el despliegue en Azure SWA: se sube una carpeta browser/ .

YAML
1# angular.json — extrait de la cible de build
2"outputMode": "static",
3"prerender": true,
4"ssr": {
5 "entry": "src/server.ts"
6}

La trampa de las rutas parametrizadas

Una ruta padre :lang con un redirectTo funcional rompe el prerender: el <router-outlet> aparece vacío. La solución es exponer dos árboles estáticos explícitos ( /fr y /en ) en lugar de un parámetro. El idioma se convierte en un prefijo de URL, no en un param.

Configurar Azure Static Web Apps

Azure SWA lee un archivo staticwebapp.config.json en la raíz del despliegue. El fallback SPA es esencial para que el routing del cliente tome el relevo en las rutas no prerenderizadas, sin devolver un 404.

YAML
1# staticwebapp.config.json (équivalent)
2navigationFallback:
3 rewrite: /index.html
4 exclude:
5 - /assets/*
6 - /*.{css,js,png,svg}
7mimeTypes:
8 .json: application/json

SEO completo en la compilación

Un script post-build genera sitemap.xml , robots.txt y llms.txt , mientras que el SeoService establece los <title> , etiquetas Open Graph , canonical , hreflang y el JSON-LD BlogPosting ruta por ruta. Como todo está en el HTML prerenderizado, los crawlers y las IAs recuperan el contenido sin ejecutar una sola línea de JS . La documentación de Azure detalla la configuración en la guía Static Web Apps configuration .

El SSG no es solo una optimización SEO: es un sitio que se muestra antes incluso de que el JS se haya descargado. El time-to-content se vuelve independiente de la conexión del visitante.
super-dev — portfolio.app
// Continuar en AZURE
Desplegar una API .NET en Azure Container Apps
8 min • 2,4k lecturas
Secretos zero-config: Key Vault + Managed Identity
7 min • 1,7k lecturas