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

标签 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);
}

在网页上它会导致这个错误(它在 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/

相关文章:

css - 如果内容很少,如何让页脚保持在页面底部而不自动出现以填充空间?

CSS 类选择器?

html - 使点 float 在表头上

grails - 如何设置动态脚手架工程的约束条件?

grails - Grails 2.4.3错误context.GrailsContextLoaderListener

css - 使用图像创建 CSS 网格布局

angularjs - 带有Angularjs1.5的Grails 3.2列表未返回所有记录

grails - 如何更好地设计此代码和逻辑

grails - 将资源插件模块转换为 Assets 管道