Grails не будет загружать изменения, сделанные в статических ресурсах (кроме перезапуска)

У меня есть неприятная проблема с моим новым приложением grails. Я пытаюсь макет дизайна для сайта, который я буду делать, но всякий раз, когда я делаю изменения в моем CSS, это не повлияет на запущенное приложение. Независимо от того, какие большие изменения я делаю, я должен остановить приложение, а затем запустить его снова.

Это очень неприятно, я включил кеш в Chrome, и даже если я перейду к конкретному документу, ресурс все еще старый. Что я могу сделать для решения этой проблемы? Я могу внести изменения в мои файлы gsp, и изменения появятся, но не в моем css.

В настоящее время я загружаю ресурс в файл макета, например:

<link rel="stylesheet" href="${resource(dir: 'css', file: 'app.css')}" type="text/css">

Если вам нужно предоставить дополнительную информацию, просто спросите. Я использую grails 2.2.0.

Ответ 1

Добавьте это в свой Config.groovy(возможно, только для разработки)

grails.resources.debug = true

Для получения дополнительной информации прочитайте docs.

Ответ 2

Похоже, что ответ Грегга не работает для 1.3.7 (может быть, это что-то добавленное в 2.x?). Метод, который я нашел, что делает быстрые обновления CSS возможными, заключается в том, чтобы включить отдельный GSP в качестве шаблона в заголовок страницы.

То есть, создайте файл с именем "_css.gsp" (требуется префикс подчеркивания) в том же каталоге, что и ваши файлы просмотра, заполните его стандартным css, окруженным тегами стиля html, а затем включите в свой заголовок макета следующее: или страница:

<g:render template="css" />

С этим на месте содержимое _css.gsp вводится на страницу. И я могу вносить изменения в _css.gsp, и они сразу отражаются после обновления страницы без перезапуска Grails. Надеюсь, это поможет кому-то в Grails pre-2.x!