Repository navigation
Resumen Ejecutivo
Se implementó una estrategia automática de cache busting para eliminar la necesidad de limpiar manualmente la caché del navegador después de cada despliegue.
🎯 Problema Resuelto
- ❌ Antes: Usuarios veían versiones antiguas después de desplegar cambios
- ✅ Ahora: Navegadores descargan automáticamente archivos nuevos sin intervención manual
🛠️ Solución Implementada
1. Query String Versioning (index.html)
- Todos los scripts y CSS incluyen parámetro
?v=TIMESTAMP - Ejemplo:
<script src="app/core/auth/auth.service.js?v=20251118120530"></script> - Cuando el timestamp cambia → navegador descarga nuevos archivos
2. Servidor HTTP Inteligente (server.js)
<textarea class="ime-text-area" readonly="true" tabindex="-1" aria-hidden="true" style="min-width: 0px; min-height: 0px; margin: 0px; padding: 0px; position: absolute; resize: none; border: none; overflow: hidden; color: transparent; background-color: transparent; z-index: -10; outline: none !important;"></textarea>
3. Script de Automatización (update-version.ps1)
<textarea class="ime-text-area" readonly="true" tabindex="-1" aria-hidden="true" style="min-width: 0px; min-height: 0px; margin: 0px; padding: 0px; position: absolute; resize: none; border: none; overflow: hidden; color: transparent; background-color: transparent; z-index: -10; outline: none !important;"></textarea>
📦 Archivos Modificados
Archivo | Cambios -- | -- index.html | ✅ +?v=20251118 en todos los scripts/CSS server.js | ✅ Cache headers inteligentes por tipo de archivo Frontend/update-version.ps1 | ✨ NUEVO - Script de automatización🚀 Cómo Usar
Pre-Deployment
<textarea class="ime-text-area" readonly="true" tabindex="-1" aria-hidden="true" style="min-width: 0px; min-height: 0px; margin: 0px; padding: 0px; position: absolute; resize: none; border: none; overflow: hidden; color: transparent; background-color: transparent; z-index: -10; outline: none !important;"></textarea>
Resultado
- Todos los usuarios descargan archivos frescos automáticamente
- Sin necesidad de
Ctrl+Shift+Deleteen los navegadores - Compatible con cualquier navegador/dispositivo
📊 Beneficios Adicionales
✅ Cache Agresivo: Archivos con versioning se cachean por 1 año
✅ Sin Herramientas Build: Funciona con HTML/CSS/JS vanilla
✅ CDN-Friendly: Compatible con proxies y redes de distribución
✅ Automatizado: Un comando y listo
Versión: 1.0.0
Fecha: 18-Nov-2025
Impacto: Mejora UX y experiencia de despliegue
🎯 Problema Resuelto
❌ Antes: Usuarios veían versiones antiguas después de desplegar cambios
✅ Ahora: Navegadores descargan automáticamente archivos nuevos sin intervención manual
🛠️ Solución Implementada
- Query String Versioning (index.html)
Todos los scripts y CSS incluyen parámetro ?v=TIMESTAMP
Ejemplo: <script src="app/core/auth/auth.service.js?v=20251118120530"></script>
Cuando el timestamp cambia → navegador descarga nuevos archivos - Servidor HTTP Inteligente (server.js)
- Script de Automatización (update-version.ps1)
📦 Archivos Modificados
Archivo Cambios
index.html ✅ +?v=20251118 en todos los scripts/CSS
server.js ✅ Cache headers inteligentes por tipo de archivo
Frontend/update-version.ps1 ✨ NUEVO - Script de automatización
🚀 Cómo Usar
Pre-Deployment
Resultado
Todos los usuarios descargan archivos frescos automáticamente
Sin necesidad de Ctrl+Shift+Delete en los navegadores
Compatible con cualquier navegador/dispositivo
📊 Beneficios Adicionales
✅ Cache Agresivo: Archivos con versioning se cachean por 1 año
✅ Sin Herramientas Build: Funciona con HTML/CSS/JS vanilla
✅ CDN-Friendly: Compatible con proxies y redes de distribución
✅ Automatizado: Un comando y listo
Versión: 1.0.0
Fecha: 18-Nov-2025
Impacto: Mejora UX y experiencia de despliegue