16

Recently upgraded a grails project to 2.3.7 and plugins to their newest, which has brought Resources plugin to 1.2.7. This worked fine with Grails 2.1.2 and resources plugin 1.2RC3, but now it is not:

whenever I have a css file that references something via a URL like this

.checkbox-input-wrap.checked {
  background-image: url(/img/uniform-assets/checkbox.png);
}

On the webpage it leads to this error (it is leaving 'resource:/' on the front of the URL)

GET resource:/img/uniform-assets/checkbox.png net::ERR_UNKNOWN_URL_SCHEME

4

1 回答 1

24

根据我之前的评论,这对我来说不是问题,因为默认情况下,所有资源都在/images,/css/jsGrails 中作为临时资源提供,我正在使用.png来自images.

我再次从我的同事那里遇到了这个问题,这让我三思而后行。:) 就他而言,他试图访问/fonts应用程序中使用的插件提供的字体。

在尝试以下答案之前,我尝试通过添加以下配置来禁用 css 重写:

//Not required
//grails.resources.rewrite.css = false

但这对我来说毫无意义,因为我正在处理font资源。

最终,将其添加为Config.groovyforfonts的一部分就成功了。对于您的情况,您需要执行以下操作:

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 应用程序中的现有资源添加临时包含。

先继续

  • grails clean(为了更安全)
  • grails run-app.
  • 清理浏览器缓存(如果使用 Chrome,我更喜欢 Chrome 中的隐身模式)
  • 点击应用网址

它不应该再抱怨资源了。

于 2014-04-03T21:23:12.810 回答