Static не возвращает ресурсы css или js в Grails 1.4 - PullRequest
5 голосов
/ 07 декабря 2011

Я только что создал свое первое приложение Grails 1.4, и у меня возникли некоторые проблемы с новым управлением ресурсами: «статический обработчик» не возвращает никаких файлов css или js, а вместо этого говорит:

ERROR resource.ResourceMeta  - Resource not found: /static/plugins/jquery-ui-1.8.15/jquery-ui/themes/ui-lightness/jquery-ui-1.8.15.custom.css
ERROR resource.ResourceMeta  - Resource not found: /static/plugins/jquery-1.6.1.1/js/jquery/jquery-1.6.1.min.js
ERROR resource.ResourceMeta  - Resource not found: /static/plugins/blueprint-1.0.2/css/blueprint/screen.css
ERROR resource.ResourceMeta  - Resource not found: /static/plugins/jquery-ui-1.8.15/jquery-ui/js/jquery-ui-1.8.15.custom.min.js
ERROR resource.ResourceMeta  - Resource not found: /static/css/main.css
ERROR resource.ResourceMeta  - Resource not found: /static/js/application.js

Изображения работают нормально!

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

Файл макета (main.gsp):

<html>
   <head>
      <g:layoutTitle/>
      <r:layoutResources/>

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

Страница (index.gsp):

<html>
   <head>
      <meta name="layout" content="main"/>
      <r:require modules="jquery-ui, blueprint"/>
      <r:require module="core"/> 
    </head> 
    <body> 
    <div id="form"> 
        <r:img uri="/images/grails_logo.png" width="100" height="50"/>
        Hello World
     </div> 
    </body> 
</html>

Выходной HTML:

<html>
    <head>
        <script src="/gdw/static/plugins/jquery-1.6.1.1/js/jquery/jquery-1.6.1.min.js" type="text/javascript" ></script>
        <link href="/gdw/static/plugins/jquery-ui-1.8.15/jquery-ui/themes/ui-lightness/jquery-ui-1.8.15.custom.css" type="text/css" rel="stylesheet" media="screen, projection" />
        <script src="/gdw/static/plugins/jquery-ui-1.8.15/jquery-ui/js/jquery-ui-1.8.15.custom.min.js" type="text/javascript" ></script>
        <link href="/gdw/static/plugins/blueprint-1.0.2/css/blueprint/screen.css" type="text/css" rel="stylesheet" media="screen, projection" />
        <!--[if lt IE 8]><link href="/gdw/static/plugins/blueprint-1.0.2/css/blueprint/ie.css" type="text/css" rel="stylesheet" media="screen,projection" /><![endif]-->
        <link href="/gdw/static/css/main.css" type="text/css" rel="stylesheet" media="screen" />  
   </head>
   <body>
       <div id="form">
            <img src="/gdw/static/images/grails_logo.png" width="100" height="50" />
            Hello World
        </div>
        <script src="/gdw/static/js/application.js" type="text/javascript" ></script>
   </body>
</html>

И мои модули (StaticResources.groovy):

modules = {
    core {
        dependsOn 'jquery'
        defaultBundle 'ui'
        resource url:'/css/main.css', attrs:[media:'screen']
        resource url:'/js/application.js'
    }
}

Чего мне не хватает? Я попытался, не требуя jQuery и blueprint, но это не изменило тот факт, что main.css и application.js все еще не были найдены - и файлы есть!

1 Ответ

4 голосов
/ 07 декабря 2011

Если вы работаете в Windows, то похоже, что вы столкнулись с этой ошибкой в плагине ресурсов.В настоящее время есть несколько обходных путей:

Добавьте defaultBundle false к определению вашего модуля

core {
    defaultBundle false

    dependsOn 'jquery'
    defaultBundle 'ui'
    resource url:'/css/main.css', attrs:[media:'screen']
    resource url:'/js/application.js'
}

Либо попробуйте добавить следующее к Config.groovy

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