CDN (Content Delivery Network) - Canal de Distribución
Este directorio está destinado a la configuración, preparación y despliegue de recursos estáticos pesados en una instancia de distribución (CDN) desacoplada del sitio web principal de producción.
Contexto del Directorio
El directorio ./cdn/ funciona como un subproyecto de despliegue independiente:
- Define el nombre del módulo (
cdn-bap-framework), dependencias mínimas y el scriptdeploy-prodque invoca el comando de Firebase CLI. - Configura las propiedades de hosting específicas para este canal, mapeando los recursos del directorio
./cdn/public/(ignorado en Git) hacia la instancia del sitio de Firebase.
⚠️ Nota sobre Carpetas Ignoradas: Las carpetas
./cdn/public/ y ./cdn/.firebase/ están excluidas del control de versiones en .gitignore dado que almacenan compilados y cachés dinámicos de despliegue.Configuración Multisitio en Firebase Hosting
Para que la distribución CDN funcione de forma aislada bajo la misma configuración central de Firebase, es imperativo establecer un entorno Multisitio (Multisite) en tu proyecto. Sigue estos pasos para configurarlo:
1. Crear el Segundo Sitio en la Consola de Firebase
- Ingresa a la Consola de Firebase.
- Selecciona tu proyecto central de producción.
- Ve a la sección Hosting en la barra lateral izquierda.
- Desplázate hasta la parte inferior de la pestaña "Tablero" y haz clic en el botón Agregar otro sitio.
- Ingresa el ID del sitio deseado (por ejemplo:
cdn-bap-framework). Este ID debe coincidir exactamente con el valor definido en la propiedad"site"dentro de./cdn/firebase.json.
2. Configuración de Alias y Comando de Despliegue
Una vez creado el segundo sitio en la consola, ejecuta el comando de despliegue desde el subdirectorio ./cdn/:
# Script de despliegue definido en ./cdn/package.json
firebase deploy --only hosting:cdn-gonzaloarenasf --project gonzalo-arenas---web-siteAsegúrate de ajustar los identificadores del alias en tu script de despliegue para que coincidan con la cuenta y nombres de tu proyecto real.
Referencias Cruzadas e Integración
- Configuración central de Firebase: Se coordina a nivel de despliegue con el archivo maestro
./firebase.jsonen el root del repositorio. - Flujo de optimización: Los recursos pesados (como imágenes y logotipos) se enlazan desde las vistas principales de
./src/mediante las URLs absolutas provistas por tu nuevo dominio CDN secundario.