Плагин Grails Resources, модули ивизуализировать изображения? - PullRequest
5 голосов
/ 25 января 2012

пытается выучить плагин ресурсов

Насколько я понимаю, это помогает определять «ресурсы», такие как файлы CSS и Javascript, и автоматически извлекать их в ваш gsp, когда это необходимо. Я понимаю, как создавать модули, которые затем можно загружать с помощью тегов и т. Д.

Часть, которую я не понимаю, такова: http://grails -plugins.github.com / grails-resources / guide / 4.% 20Using% 20resources.html # 4.2% 20Linking% 20to% 20images

Итак, я создал модуль с именем 'images' в Config.groovy следующим образом:

grails.resources.modules = {
    images {
        resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view']
        resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast']
    }
}

Ресурсы включены в страницу .gsp в разделе head следующим образом:

<head>
  <r:require modules="jquery-ui, blueprint"/>
</head>

я знаю, что ресурсы были успешно добавлены в раздел заголовка, потому что когда я проверяю источник страницы, я вижу их там:

<link href="/ResourceTest/static/Aa7jV0N2qZjOz7TLZ9cl5cREIh2y5jJYV0ytn4nQg9r.jpg" rel="shortcut icon" width="1280" height="720" alt="my view" />
<link href="/ResourceTest/static/IpQBSjrYeLDdSUBGbP3jhf6Kkhvu1zV3XRtwWfKOIMn.jpg" rel="shortcut icon" width="1280" height="720" alt="breakfast" />

У меня такой вопрос: как тогда используются ресурсы изображения? я имею в виду, я знаю, если бы это был javascript, импорт ресурса дает вам доступ к использованию функций в HTML-коде, но что касается изображений, сайт говорит: «Как только вы это сделаете, использование ссылки на них автоматически установит ширина, высота и другие атрибуты. "

Как? Я пробовал следующее:

<r:img module="images">
<r:img alt="breakfast">

и несколько других безуспешно

что работает:

<r:img uri="/images/breakfast.jpg">

но это работает независимо от того, добавляете ли вы модуль с тэгом r: require или нет. Так какой же смысл использовать этот плагин для изображений и как мне его использовать?

1 Ответ

0 голосов
/ 08 ноября 2013

Тег <r:img> отлично работает с нашим без <r:require>; это работает даже с необъявленными ресурсами изображения .

Смысл тега require заключается в предотвращении дублирования ресурсов.Так, например, предположим, у вас есть несколько ресурсов javascript, которые полагаются на jQuery, и все они необходимы.Добавьте еще один уровень сложности: скажем, вы на самом деле собираете разные шаблоны gsp через sitemesh, и у каждого из них есть свои собственные зависимости от ресурсов.Если вы просто поместите обычный HTML-код для ссылки на эти ресурсы в заголовке каждого макета gsp, вы можете получить их несколько экземпляров в заголовке страницы, что может оказаться проблематичным.Использование плагина ресурсов гарантирует, что вы получите только один экземпляр требуемого ресурса.

См. http://grails -plugins.github.io / grails-resources / ref / Tags / require.html и http://grails -plugins.github.io / grails-resources / ref / Tags / layoutResources.html .

Однако с изображениями это на самом деле не нужно.Если у вас есть изображение более одного раза на странице, это, вероятно, потому что вы хотели, или потому что вы применяете избыточные макеты и вам нужно немного реорганизовать.Итак, вы правы в том, что тег require на самом деле мало что делает для изображений, вызываемых через <r:img>.Это просто потому, что изображения - это другой тип ресурса, поэтому к ним относятся по-разному.Не парься.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...