J'ai un fichier de mise en page de base qui est utilisé dans la plupart des vues. Dans la mise en page de base, j'ai besoin d'un module utilisant le plugin de ressources grails.Comment forcer le navigateur à ne pas mettre en cache le fichier css lorsque le fichier css change?
<r:require module="core"/>
Les modules sont définis dans le fichier conf/ApplicationResources.groovy comme
modules = {
core {
resource url: '/css/main.css'
resource url: 'js/application.js'
}
}
est le problème maintenant ici. Je fais le changement au fichier main.css et construis l'application. Le changement ne reflète pas dans le navigateur. Il ne sera mis à jour que si je visualise la source, puis cliquera sur le fichier css, puis j'actualiserai ce fichier css. Le navigateur met en cache le fichier css. J'ai essayé d'ajouter la version au code ci-dessus comme
modules = {
core {
resource url: '/css/main.css?version=2'
resource url: 'js/application.js'
}
}
mais cela ne fonctionne pas non plus. Quand je regarde la balise de lien css généré, je vois que le fichier css est
<link href="/app/static/bundle-bundle_core_head.css" type="text/css" rel="stylesheet" media="screen, projection" />
Il est donc logique que la version ne fonctionne pas. J'ai essayé en dernier recours
<link href="/app/static/bundle-bundle_core_head.css?version=2" type="text/css" rel="stylesheet" media="screen, projection" />
et le fichier css a été finalement mis à jour. Mais je ne peux pas utiliser cette solution puisque c'était un hack. Donc, ma question est de savoir s'il existe un moyen pour le fichier css de se mettre à jour automatiquement lorsque j'apporterai une modification au fichier css en utilisant le plugin resources grails.
Ressources Plugin
http://grails.org/plugin/resources
La version Grails J'utilise est 2.2 et les ressources version plug-in est 1.1.6.
J'utilise tomcat.. – kofhearts