使用Grails资源插件1.2.7破坏的CSS文件中的URL

时间:2014-03-25 01:04:40

标签: css grails grails-resources-plugin

最近将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

1 个答案:

答案 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(更安全的一面)
  • {{1}}。
  • 清理浏览器缓存(我希望在Chrome中使用隐身模式,如果使用Chrome)
  • 点击应用网址

它不应再抱怨资源了。