Grails 2.0 включая ресурсы простым способом? - PullRequest
12 голосов
/ 31 января 2012

Я боролся с различными проблемами с включением ресурсов при переходе с Grails 1.3.7 с Grails 2.0, возможно, не понимая несколько вещей для начала.

Во-первых, что делает

<g:javascript library="application" />

?(это было в main.gsp по умолчанию, предоставленном в Grails 1.3.7).

Во-вторых, для включения jquery в мое приложение я могу просто сделать

<r:require module='jquery' />
<r:layoutResources />

в верхней частиГлавная страница сайта, которая выполняет

 <g:layoutHead /> 
    ...
 <g:layoutBody />

и «с этим покончено», используя

<r:layoutResources />

второй раз после

 <g:layoutBody />

Спасибо

1 Ответ

12 голосов
/ 31 января 2012

Да, сначала я тоже немного боролся с этим.

Итак, во-первых, <g:javascript library="application" /> относится к модулю, определенному в файле config / *. Resources.groovy (по умолчанию это config / ApplicationResources.groovy), внутри которого вы назвали модули, например:

modules = {
    application {
          resource url: 'js/jquery/jquery-ui-1.8.15.custom.min.js', disposition: 'head'
  }
}

Во-вторых, на примере Grails2 main.gsp (здесь много сокращений):

 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title><g:layoutTitle default="Grails"/></title>
    <link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}" type="text/css">
    <link rel="stylesheet" href="${resource(dir: 'css', file: 'mobile.css')}" type="text/css">

    <link rel="stylesheet" href="${resource(dir: 'css/redmond', file: 'jquery-ui-1.8.15.custom.css')}" type="text/css">

    <g:layoutHead/>
    <g:javascript library="jquery"/>

    <r:require module="application"/>
    <r:layoutResources/>

</head>

<body>
    <g:layoutBody/>
    <r:layoutResources/>
</body>
</html>

Надежда, которая направляет вас в правильном направлении

...