我有一个在大多数视图中使用的基本布局文件。在基本布局中,我需要一个使用 grails 资源插件的模块。
<r:require module="core"/>
这些模块在 conf/ApplicationResources.groovy 文件中定义为
modules = {
core {
resource url: '/css/main.css'
resource url: 'js/application.js'
}
}
现在问题来了。我对 main.css 文件进行了更改并构建了应用程序。更改不会反映在浏览器中。只有当我查看源代码然后单击 css 文件然后刷新该 css 文件时它才会更新。浏览器缓存 css 文件。我尝试将版本附加到上面的代码中,例如
modules = {
core {
resource url: '/css/main.css?version=2'
resource url: 'js/application.js'
}
}
但这也行不通。当我查看生成的 css 链接标签时,我看到 css 文件是
<link href="/app/static/bundle-bundle_core_head.css" type="text/css" rel="stylesheet" media="screen, projection" />
所以为什么版本不起作用是有道理的。我已经尝试过作为最后的手段
<link href="/app/static/bundle-bundle_core_head.css?version=2" type="text/css" rel="stylesheet" media="screen, projection" />
最终更新了css文件。但我不能使用这个解决方案,因为那是一个 hack。
所以我的问题是,当我在使用 grails 资源插件时对 css 文件进行更改时,是否有办法让 css 文件自动更新。
资源插件
http://grails.org/plugin/resources
我使用的 grails 版本是 2.2,资源插件版本是 1.1.6。