Как включить jquery.js в Grails? - PullRequest
21 голосов
/ 22 января 2012

У меня есть проект 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

Ответы [ 10 ]

27 голосов
/ 22 января 2012

Очевидно, <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>
5 голосов
/ 22 января 2012

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

grails installJQuery

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

5 голосов
/ 22 января 2012

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

<g:javascript library='jquery' />
4 голосов
/ 23 июля 2014

Согласно текущим документам - 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 в web-app / js / jquery /

Полный дистрибутив jQuery загружается и устанавливается в папку вашего проекта / 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 (см. Вкладку "Установка")

4 голосов
/ 24 февраля 2012

В Grails 2.x вы также можете сделать:

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

в Config.groovy

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

<r:require module="core"/>

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

3 голосов
/ 16 сентября 2012

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

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

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

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

* * 1010

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

<r:require module="myScript" />
0 голосов
/ 23 апреля 2015

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

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

Так что, скорее всего, он уже настроен в вашем BuildConfig.groovy следующим образом (примечание - это среда выполнения, а не компиляция):

plugins {
    // ... some other plugins here ...
    runtime ":jquery:1:11:1"
}
  1. Если вы используете Eclipse, выполните File поиск 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.

0 голосов
/ 19 февраля 2015

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

0 голосов
/ 20 ноября 2014

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

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

Есть идеи, почему мне пришлось использовать свойство плагина?

0 голосов
/ 22 января 2012

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

...