Onde devo colocar bibliotecas javascript em um aplicativo Grails?
-
20-09-2019 - |
Pergunta
Eu tenho um casal de bibliotecas de Javascript do meu próprio que fazer algum bom prettyfying de páginas HTML e gostaria de incluí-los na minha spg páginas, particularmente a página de destino do meu aplicativo.Eu tentei colocá-los em views
pasta e web-app/js
e $APP_HOME/scripts
mas quando eu carregar meu índice.gsp os scripts não apareceu.
Eu também tentei uma variedade de alternativas no meu código dos quais nenhum trabalho...
<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>
Eu tenho certeza que é um inteligente grails maneira de fazer isso rapidamente, mas eu realmente precisava de um local onde eu possa colocar alguns clichê código JavaScript que eu possa usar no meu app.Com a convenção sobre configuração em mente, o que é esperado prática?
Solução
Com seu arquivo JS em: web-app/js/myLib.js
, colocando <g:javascript library="myLib" />
em seu layout eu acho que deve ser o que você precisa.
Outras dicas
Você provavelmente NÃO deve usar <g:javascript library="myLib" />
como que é feito para ser usado como uma forma de fazer chamadas AJAX library (mas, dojo, yahoo, jquery) indiferente.Ver grails javascript.Em vez de usar <g:javascript src="myLib.js" />
.
Há duas maneiras pelas quais você pode incluir o arquivo JS e JS biblioteca como um lightbox
// 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>
Consulte : http://grails.org/doc/latest/ref/Tags/javascript.html
Acho que encontrei a resposta...
Se eu usar essa tag no meu spg (em vez de uma simples referência de javascript)
<g:javascript library="mylib" />
Então, quando eu olhar para a página gerada fonte refere-se a
<script type="text/javascript" src="/myapp/js/mylib.js"></script>
Isso corresponde à pasta web-app/js
, então, eu deixei cair a minha biblioteca de script, e funciona bem.O avanço foi para mim um) mudar o nome da minha index.html para o índice.gsp e b) usar o g:javascript
etiqueta.
Utilização <g:javascript src="myscript.js" />
e coloque o script em web-app/js/myscript.js
Para detalhes e exemplos para seus próprios scripts externos, na linha de código e bibliotecas ver http://grails.org/doc/latest/ref/Tags/javascript.html.