Estoy usando Liferay CMS como parte de mi curso Uni en desarrollo de pila completa y, como proyecto final, tengo que usar la biblioteca d3.js para mostrar algunos gráficos. Sin embargo, me cuesta borrar la memoria caché del navegador y eso hace que el proceso de desarrollo sea muy tedioso y consuma mucho tiempo: me gustaría ver mis cambios en el front-end de inmediato sin tener que jugar con la memoria caché del navegador, especialmente porque, como Estoy trabajando con elementos svg, a veces se vuelve complicado alinear cosas, etc. A veces, borrar el caché funciona, a veces no, así como abrir una nueva ventana privada, pero debe haber un método concluyente e infalible para eliminar todos los elementos almacenados en caché. ¿Alguien sabe cómo hacer eso?
Liferay tiene un "Modo de desarrollador" que debería pasar por alto una gran cantidad de almacenamiento en caché de todos modos. En su portal-ext.properties (normalmente en ${liferay.home}), simplemente agregue la línea
include-and-override=portal-developer.propertiespara activar este modo.
También omitirá los minificadores y la concatenación de todos los diferentes recursos que está cargando.
Esto no borra los cachés, pero resolverá su problema de actualización.
En el HTML, agregue una cadena de consulta (no utilizada) al enlace html a los archivos vinculados y modifíquela cada vez que actualice el archivo. por ejemplo, para css:
<link rel="stylesheet" href="styles.css?a">Luego, cada vez que realice cambios en el archivo al que apunta, cambie la 'a' por la 'b' o cualquier cosa (no cambie el nombre del archivo vinculado, se ignorará la cadena de consulta).
Esto obliga al navegador a 'cambiar' el archivo vinculado cada vez que cambia el href y, por lo tanto, el archivo modificado se vuelve a cargar.
El método funcionará para secuencias de comandos y otros archivos vinculados. La cadena de consulta podría ser algo significativo, como números de versión - ?v1 , pero cualquier cosa servirá.
Editar, como lo señaló @GerardoFurtado, una discusión más detallada de esta idea está disponible aquí Eliminación de caché a través de params