最近将一个 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);
}
在网页上它会导致这个错误(它在 URL 的前面留下 'resource:/')
GET resource:/img/uniform-assets/checkbox.png net::ERR_UNKNOWN_URL_SCHEME
最佳答案
根据我之前的评论,这对我来说不是问题,因为默认情况下所有资源都在 /images
下, /css
和 /js
在 Grails 中用作临时资源,我正在使用 .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 应用程序中的现有资源添加临时包含。
继续
-
grails clean
(为了安全起见) -
grails run-app
. - 清理浏览器缓存(如果使用 Chrome,我更喜欢 Chrome 中的隐身模式)
- 点击应用网址
它不应该再提示资源。
关于css - 使用 Grails 资源插件 1.2.7 破坏的 CSS 文件中的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623584/