Размещение ресурса JS через - PullRequest
1 голос
/ 23 марта 2012

Я использую плагин ресурсов в Grails 2.0.1.У меня проблема с получением ресурса JavaScript, указанного с помощью r: external, для размещения после всех других сценариев, ранее объявленных с использованием r: require или r: external, все в отложенном расположении.В настоящее время ресурс, указанный с помощью r: external, выводится в место, где размещен тег r: external.

У меня есть файл макета, который содержит тег r: require для извлечения некоторых основных ресурсов:

<html>
<head>
    ...
    <r:require module="core" />
</head>
....
</html>

Тогда GSP, который включает другой тег r: require, за которым следует тег r: external:

<head>
    ...
    <r:require module="forms" />
    <r:external dir="js" file="page-specific-resource.js" /> %{-- specifying disposition="defer" has no effect --}%
    ....
</head>
...

Я ожидаю, что каждый из ресурсов JavaScript, которые я пытаюсь включить, будетвывод в отложенном расположении с первыми основными ресурсами, затем с ресурсами формы и последним с ресурсом для конкретной страницы.Фактические результаты состоят в том, что ресурсы ядра и форм выводятся, как и ожидалось, в отложенном расположении, но ресурс, специфичный для страницы, выводится в заголовке, где размещается тег r: external (похоже, что указание disposition = "defer" не имеет никакого эффекта).

Мои ожидания неверны или это законный вопрос?Есть ли другой способ указать ресурсы, специфичные для страницы (я стараюсь избегать объявления этих типов ресурсов в DSL ресурсов) и располагать их после всех ранее объявленных ресурсов?

1 Ответ

0 голосов
/ 27 марта 2012

Как ответил Марк Палмер в списке рассылки Grails User (http://grails.1312388.n4.nabble.com/Placement-Of-JS-Resource-Via-lt-r-external-gt-td4506074.html#none):

Боюсь, ваши ожидания неверны.

r: external предназначен только для рендеринга ссылок, когда вы его вызываете.

Вам необходимо объявить свои зависимости или указать r: external на конец страницы.

Объявление модулей для «функциональных областей» вашего приложения выгодно. Это означает, что вы также можете связать их вместе, если это необходимо, или иметь хорошо точный контроль и страница больше не должна знать об этом.

...