最近将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);
}
在网页上会出现此错误(它正在离开'资源:/'位于网址的正面)
获取资源:/img/uniform-assets/checkbox.png net :: ERR_UNKNOWN_URL_SCHEME
答案 0 :(得分:24)
根据我之前的评论,这对我来说不是问题,因为默认情况下,/images
,/css
和/js
下的所有资源都作为Grails中的adhoc资源提供我正在使用.png
中的images
文件进行测试。
我再次从我的同事那里看到了这个问题,让我三思而后行。 :)在他的情况下,他试图访问应用程序中使用的插件提供的/fonts
字体。
在尝试以下答案之前,我尝试通过添加以下配置来禁用css重写:
//Not required
//grails.resources.rewrite.css = false
但是当我处理font
资源时,对我来说毫无意义。
最终,将此作为Config.groovy
fonts
的一部分添加到了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 clean
但正如我所说,您可能不需要为grails应用程序中的现有资源添加adhoc包含。
继续
grails run-app
(更安全的一面)它不应再抱怨资源了。