最近将Grails项目升级到2.3.7,并将插件升级到最新版本,这将将Resources插件引入1.2.7。这对Grails 2.1.2和资源插件1.2RC3工作正常,但现在不是:
每当我有一个css文件通过这样的URL引用某些东西
.checkBox-input-wrap.checked { background-image: url(/img/uniform-assets/checkBox.png); }
在网页上,它导致了这个错误(它正在网址前面留下“resource:/”)
GET resource:/img/uniform-assets/checkBox.png net::ERR_UNKNOWN_URL_SCHEME
解决方法
根据我之前的评论,这对我来说不是一个问题,因为默认情况下,/ images,/ css和/ js下的所有资源都被用作Grails中的adhoc资源,我正在使用图像中的.png文件进行测试。
我从同事那里再次遇到这个问题,让我想了两次。 :)在他的情况下,他试图从/ fonts访问由应用程序中使用的插件提供的字体。
在尝试以下答案之前,我尝试通过添加以下配置来禁用css重写:
//Not required //grails.resources.rewrite.css = false
但是当我处理一个字体资源时,这对我来说没有任何意义。
最终,将其作为Config.groovy的一部分添加到字体中是一个窍门。对于你的情况,你需要做如下:
grails.resources.adhoc.includes = ['/img/**'] //If resource served from a plugin //grails.resources.adhoc.includes = ['/plugins/**','/img/**']
如果你已经有了这个配置,它看起来像:
grails.resources.adhoc.includes = [ '/images/**','/css/**','/js/**','/img/**' ]
但是正如我所说,您可能不需要在grails应用程序中添加现有资源的adhoc include。
先继续
grails干净(在更安全的一面)
> grails run-app
>清洁浏览器缓存(我喜欢Chrome中的隐身模式,如果Chrome使用)
>点击应用网址
不要再抱怨资源了。