Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 22 Marzo 2021, 04:14 am



Título: [Pregunta]: ¿Existe un script (JS) para eliminar los datos en la memoria caché?
Publicado por: Leguim en 22 Marzo 2021, 04:14 am
La idea es saber si hay disponible algún script que al ser ejecutado elimine todos los datos de la memoria caché o al menos aquella información almacenada sobre mi aplicación web como imágenes por ejemplo.

El objetivo de encontrar este script es que cada vez que yo mejoro mi código, agrego cosas, edito cosas (como imágenes por ejemplo) estas se vean reflejadas sin que el usuario tenga que darle al "CTRL + F5".

Ya tengo un sistema de versiones donde yo para agregar una versión completo un formulario, donde escribo el título (v1.0.0), y luego las mejoras correspondiente a dicha versión.

Con el script (si es que existe) + este sistema que ya tengo, creo que puedo armarme algo para esto.


Título: Re: [Pregunta]: ¿Existe un script (JS) para eliminar los datos en la memoria caché?
Publicado por: k41z3r en 22 Marzo 2021, 12:18 pm
Buenas! Actualmente estoy estudiando javascript por tanto no estoy seguro... pero creo que lo que buscas lo puedes solucionar estableciendo variables con el comando "let" en lugar de "var". Esto hace que dicha variable sea válida sólo en el bloque en el que la usas y no cargará la memoria una vez sea resuelto dicho bloque de código.

Por otro lado creo que lo que dices de que el usuario no tenga que darle a CTRL + F5 no es posible ya que, aunque JS sea autocompilado, el usuario debe recargar para ver las modificaciones hechas en el código.

De todos modos repito que soy estudiante sin mucha experiencia... si estoy equivocado o hay mejores soluciones seguro que alguien del foro sabrá corregirnos :)


Título: Re: [Pregunta]: ¿Existe un script (JS) para eliminar los datos en la memoria caché?
Publicado por: #!drvy en 22 Marzo 2021, 13:57 pm
No hay un script para "limpiar" cache, dado que eso es funcionalidad del navegador. Puedes invalidar la cache enviando cabecera Expires en pasado para cada archivo pero poco más.

https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Expires

Dicho esto, lo que se suele hacer es solicitar los recursos con versionado. Por ejemplo:

Código
  1. <script src="https://ejemplo.net/script.js?ver=2.24"></script>

Así, puedes cambiar dicha versión en cualquier momento y automáticamente haces que el navegador solicite archivo nuevo.

Saludos


Título: Re: [Pregunta]: ¿Existe un script (JS) para eliminar los datos en la memoria caché?
Publicado por: MinusFour en 22 Marzo 2021, 15:47 pm
No es algo que se haga comúnmente en producción pero... en desarrollo es bastante común tener alguna herramienta como livereload o browsersync para actualizar la página automáticamente. Tienen que hacer una recarga completa de la página para hacer esto.

Webpack y el bundler de React (que no recuerdo como se llama) tienen soporte para usar algo que se conoce como HMR (Hot Module Replacement). En el cual no hay una recarga completa de la página, solo los módulos que han cambiado.

Ambos usan un runtime en el cliente por eso no son utilizados en producción, porque son recursos extras que realmente hacen poco en producción (porque cambios frecuentes no son habituales en producción).