Подтвердить что ты не робот

Как включить jquery.js в Grails?

У меня есть проект Grails 2.0.0, который был создан с помощью grails create-app. В моих файлах HTML и GSP я пытаюсь включить jquery.js. Я пробовал все без исключения:

<script type="text/javascript" src="jquery/jquery-1.7.1.js"></script>
<script type="text/javascript" src="jquery/jquery.js"></script>
<g:javascript library="jquery"/>

Первые два тега <script> приводят к 404 Not Found (проверено Firebug). Тег <g:javascript> приводит к тому, что ничего не включается (проверено с использованием источника просмотра).

На моей домашней странице приложения Grails это указывает на то, что установлен jquery 1.7.1 (в разделе "УСТАНОВЛЕННЫЕ ПЛИТЫ" ).

Каков правильный способ в Grails включить файл jquery.js?

Последующее наблюдение:. Файл .GSP:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
  <head>
    <title>Test</title>
    <g:javascript library="jquery/jquery"/>
  </head>
  <body>
    <h1>Test</h1>
  </body>
</html>

Результаты в следующем HTML-источнике:

<html>
  <head>
    <title>Test</title>

  </head>
  <body>
    <h1>Test</h1>
  </body>
</html>

Обратите внимание на отсутствие включенного jquery.js.

Последующее наблюдение 2:

Я создаю свое приложение, используя grails create-app:

13:56:40 ~/grailsDev $ grails create-app helloworld
| Created Grails Application at /Users/steve/grailsDev/helloworld
13:56:57 ~/grailsDev $ cd helloworld/
13:57:06 ~/grailsDev/helloworld $ ls -al web-app/js
total 8
drwxr-xr-x  3 steve  staff  102 Jan 21 13:56 .
drwxr-xr-x  7 steve  staff  238 Dec 15 08:04 ..
-rw-r--r--  1 steve  staff  183 Dec 14 22:56 application.js
13:57:23 ~/grailsDev/helloworld $ grails -version

Grails version: 2.0.0
4b9b3361

Ответ 1

По-видимому, <r:layoutResources/> необходимо включить в <head> (после <q:javascript library='jquery' />). На самом деле работает следующее:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
  <head>
    <title>Simple GSP page</title>
    <g:javascript library='jquery' />
    <r:layoutResources/>
  </head>
  <body>
    Place your content here
  </body>
</html>

Ответ 2

Плагин jquery установлен по умолчанию в версии 2.0 - см. grails-app/conf/BuildConfig.groovy. Чтобы использовать jquery.js в GSP, просто добавьте эту строку:

<g:javascript library='jquery' />

Ответ 3

Стив после установки Jquery plugin thru grails install-plugin jquery вам нужно выполнить еще одну команду grails, чтобы загрузить файл jquery в ваше приложение

grails installJQuery

Эта цель загружает и устанавливает jquery-1.7.1.js и jquery-1.7.1.min.js под web-app/js/jquery/

Ответ 4

В grails 2.x вы также можете:

grails.resources.modules = {
    core {
        dependsOn 'jquery, jquery-ui'
    }
}

in Config.groovy

Затем в вашем GSP просто поместите следующее в свой элемент HEAD:

<r:require module="core"/>

Преимущество заключается в том, что вы можете указать другие файлы CSS/JS, от которых зависит, делает его приятным и чистым в GSP. Здесь также можно переопределить версии jQuery/jQuery-UI.

Ответ 5

В соответствии с текущими документами - http://grails.org/plugin/jquery (версия Grails: 1.3 > *) 18 сентября 2015 г.


Установка

Чтобы установить плагин jQuery, введите эту команду из корневой папки проекта:

grails install-plugin jquery

Цели:

grails installJQuery
  • Эта цель загружает и устанавливает jquery-1.4.2.js и jquery-1.4.2.min.js в веб-приложении/js/jquery/

Полный дистрибутив jQuery загружается и устанавливается в папке project/web-app/js/jQuery.


Использование

Ajax через jQuery

Чтобы адаптивная поддержка AJAX от Grails адаптировалась к jQuery (а не по умолчанию Prototype или другому варианту, например YUI или Dojo):

Так как Grails 1.2:

Добавьте эту строку в свой макет файл

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

и следующее к вашему grails-app/conf/config.groovy

grails.views.javascript.library="jquery"

альтернативно вы можете использовать:

<g:javascript library="jquery" />

(без плагина = "jquery" ), но вам нужно будет вызвать цель установки grails installJQuery (см. вкладку "Установка" )

Ответ 6

Я видел хороший учебник по этому поводу в icodeya. http://www.icodeya.com/2012/09/grails-different-ways-to-import.html

вы можете сделать это в своем gsp:

<g:javascript src="myscript.js"/ >

ИЛИ, вы можете сделать это в своем Config.groovy:

grails.resources.modules = {
core{
resource url:'/js/jQuery.js' 
} 
myScript { 
resource url:'/js/myScript.js' 
dependsOn 'core' 
}
}

то в вашем gsp вы можете прикрепить это:

<r:require module="myScript" />

Ответ 7

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

Ответ 8

Я нашел (со страницы плагина JQuery), что в дополнение к тегу <g:javascript library="jquery"/> мне пришлось добавить ярлык плагина явно, чтобы сделать тег похожим:

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

Любая идея, почему мне пришлось использовать свойство plugin?

Ответ 9

В настоящее время в 2015 году все, что вам нужно сделать, это добавить runtime ":jquery:1.11.1" в свой BuildConfig.groovy, и все.

Ответ 10

Обновление для Grails 2.3 Это может помочь устранить конфигурацию jQuery, чтобы она могла быть доступна с ваших страниц gsp.

  • Прежде всего, если вы запустите команду grails install-plugin jquery, она выйдет из строя с устаревшим сообщением "install-plugin": enter image description here

Итак, скорее всего, вы уже настроили его в свой BuildConfig.groovy, как это (примечание - время выполнения, а не компиляция):

plugins {
    // ... some other plugins here ...
    runtime ":jquery:1:11:1"
}
  1. Если вы используете Eclipse, выполните поиск Файл для jquery и посмотрите, есть ли у вас уже файлы: enter image description here

  2. Подтвердите, что ваш каталог js не пуст, он находится внутри каталога web-app. Если js не имеет файлов или каталогов, то просто скопируйте их из того, что вы получили на шаге 2: enter image description here

  3. Как упоминалось ранее, комбинация этих двух строк, похоже, работает (вверху ваших страниц gsp):

enter image description here

Если jQuery не самая первая библиотека javascript для загрузки, у вас могут быть проблемы. Проверьте свой файл layouts/main.gsp, если он у вас есть. Возможно, вам нужно будет добавить jquery на все ваши страницы, чтобы он находился на самом верху вашего источника html.

Надеюсь, что это поможет.

Примечание.. Во время этой публикации (апрель 2015 г.) был выпущен Grails 3.0 и, похоже, он несовместим с проектами Grails 2.X в том виде, в котором они настроены. Надеемся, что это будет лучше документировано, чтобы избежать проблем с 2.X.