URL-адреса в CSS-файлах, нарушенные плагином Grails 1.2.7

Недавно обновил проект Grails до 2.3.7 и подключил плагины к их новейшей версии, в результате чего плагин ресурсов перешел на 1.2.7. Это работало нормально с Grails 2.1.2 и плагином ресурсов 1.2RC3, но теперь это не так:

всякий раз, когда у меня есть файл CSS, который ссылается на что-то через URL-адрес, как это

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

На веб-странице это приводит к этой ошибке (она оставляет 'resource:/' в начале URL)

ПОЛУЧИТЬ ресурс:/img/uniform-assets/checkbox.png net::ERR_UNKNOWN_URL_SCHEME

1 ответ

Решение

Согласно моему комментарию ранее, это не было проблемой для меня, потому что по умолчанию все ресурсы в /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/**'
]

Но, как я уже сказал, вам, возможно, не понадобится добавлять adhoc для существующих ресурсов в приложении Grails.

Продолжай с

  • grails clean (чтобы быть на более безопасной стороне)
  • grails run-app,
  • Очистить кеш браузера (я бы предпочел режим инкогнито в Chrome, если Chrome используется)
  • Ссылка на приложение

Не стоит больше жаловаться на ресурс.

Другие вопросы по тегам