Grails GSP и отношения шаблонов

#javascript #css #templates #grails

#javascript #css #шаблоны #grails

Вопрос:

Когда у вас есть GSP, а затем, скажем, вы пытаетесь отобразить шаблон в какой-то его части, если шаблон достаточно сложный, чтобы у него были свои собственные CSS и JS, где лучше всего разместить css и js шаблона? В настоящее время он встроен в разметку шаблона в том же файле, например, но я чувствую, что он принадлежит css и js родительского GSP, например, может быть, в тех же файлах? Предложения?

Итак, прямо сейчас родительский GSP выглядит следующим образом.

 <head>
  reference to external file which has the parent GSP's css
  inline JS
</head>
<body>
  ...
</body>
 

и шаблон, который я позже визуализирую в этом GSP, выглядит следующим образом:

 inline CSS
inline JS
inline markup
 

Я знаю, что это не самая чистая и лучшая стратегия, поэтому я ищу информацию о том, что есть. Спасибо.

Ответ №1:

Ответ: «Это зависит«. Это зависит от того, как вы используете шаблон.

Более конкретно, вы повторно используете шаблон? Если это так, то имеет смысл поместить необходимые CSS и JS в сам шаблон, чтобы он был автономным и повторно использовался таким образом.

Если вы просто используете шаблон для частичного рендеринга, и только в пределах определенного родительского GSP, тогда имеет смысл включить CSS и JS в родительский GSP, а не в шаблон.

Ответ №2:

Лучший способ справиться с такого рода сценариями — использовать плагины, такие как Grails Resource plugin или Grails Asset Pipeline Plugin, оба они предоставляют способы сохранить организацию в ваших файлах ресурсов (css, JavaScript)

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

Вы можете найти полезную информацию о плагине ресурсов в этом посте Марка Палмера О плагине asset pipline в этом посте Бобби Уорнера

Я надеюсь, что это поможет