Где мне разместить библиотеки JavaScript в приложении Grails? - PullRequest
17 голосов
/ 12 января 2010

У меня есть несколько собственных библиотек Javascript, которые неплохо справляются со своими HTML-страницами, и я хочу включить их в мои страницы gsp, в частности, в целевую страницу моего приложения. Я попытался поместить их в папку views и web-app/js и $APP_HOME/scripts, но при загрузке файла index.gsp сценарии не отображаются.

Я также пробовал множество альтернатив в моем коде, ни одна из которых не работает ...

<script src="mylib.js" type="text/javascript"></script>
<script src="js/mylib.js" type="text/javascript"></script>
<script src="scripts/mylib.js" type="text/javascript"></script>

Я уверен, что есть хитрый способ сделать это на лету, но я действительно просто хочу место, где я мог бы разместить шаблонный код JavaScript, который я могу использовать в своем приложении. С учетом соглашения о конфигурации, какова ожидаемая практика?

Ответы [ 5 ]

23 голосов
/ 12 января 2010

Вероятно, вам НЕ следует использовать <g:javascript library="myLib" />, так как он предназначен для того, чтобы сделать AJAX-библиотеку вызовов (scriptaculous, dojo, yahoo, jquery) безразличной. См. Grails Javascript . Вместо этого используйте <g:javascript src="myLib.js" />.

13 голосов
/ 12 января 2010

С вашим файлом JS по адресу: web-app/js/myLib.js, добавив <g:javascript library="myLib" /> в макет, если я считаю, что вам нужно.

1 голос
/ 13 мая 2013

Есть два способа, которыми вы можете включить файл JS и библиотеку JS, например scriptaculous

// actually imports '/app/js/myscript.js'
<g:javascript src="myscript.js" />

// imports all the necessary js for the scriptaculous library
<g:javascript library="scriptaculous" />

<g:javascript>alert('hello')</g:javascript>

См .: http://grails.org/doc/latest/ref/Tags/javascript.html

0 голосов
/ 06 января 2013

Используйте <g:javascript src="myscript.js" /> и поместите ваш скрипт в web-app/js/myscript.js

Подробные сведения и примеры как ваших собственных внешних скриптов, так и встроенного кода и библиотек см. http://grails.org/doc/latest/ref/Tags/javascript.html.

0 голосов
/ 12 января 2010

Я думаю, что нашел ответ ...

Если я использую этот тег в моем gsp (а не прямую ссылку на JavaScript)

<g:javascript library="mylib" />     

Затем, когда я смотрю на сгенерированныйк источнику страницы он относится

<script type="text/javascript" src="/myapp/js/mylib.js"></script>

Это соответствует папке web-app/js, поэтому я поместил туда свою библиотеку сценариев, и она работает нормально.Прорыв был для меня: а) переименовать мой index.html в index.gsp и б) использовать тег g:javascript.

...