Posterior a de esta prolongada recopilación de información solucionamos esta preocupación que tienen muchos usuarios. Te brindamos la respuesta y deseamos resultarte de gran ayuda.
Solución:
Sí, esa es la forma correcta. Tienes que configurar el Cache-Control
encabezado para que los navegadores sepan que no tienen que almacenar en caché ningún contenido para esa solicitud.
(Pragma
& Cache-Control
es lo mismo pero de la especificación HTTP diferente. Vea la respuesta aquí: ¿Diferencia entre Pragma y encabezados de control de caché?)
Vea una de las respuestas relacionadas aquí: How to burst yeoman index.html cache
Como se menciona en los comentarios, es realmente la configuración del servidor lo que desea ver, pero no ha mencionado su configuración. Ejecutamos nuestro sitio AngularJS con un backend .NET usando IIS.
Actualizamos nuestro sitio regularmente y hemos tenido problemas en el pasado con el almacenamiento en caché de recursos JS y CSS, pero lo hemos resuelto a través de la siguiente configuración:
Construir
Usamos gulp para construir nuestra aplicación AngularJS y, como parte de eso, agregamos un número de versión a la cadena de consulta de los archivos CSS y Javascript de nuestra aplicación principal que cambian con frecuencia. Por ejemplo:
Configuración del servidor
En la raíz web.config especificamos que no queremos que index.html se almacene en caché configurando el cache-control
, Pragma
y Expires
solicite encabezados, así como la edad máxima a 0.
Referencias:
- Caché de cliente de IIS: https://docs.microsoft.com/en-us/iis/configuration/system.webserver/staticcontent/clientcache
- Encabezado HTTP de control de caché: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
- Encabezado HTTP Pragma: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Pragma
- Expires HTTP Header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires
Configurando content
valor a 0
los navegadores siempre cargarán la página desde el servidor web.
Nos encantaría que puedieras difundir este escrito si lograste el éxito.