Carregamento de Recursos
03/03/2013 02:51
0
Olá a todos, estou trabalhando com uma grande biblioteca de javascript, e inicialmente, comecei testando na minha index.gsp criando para isso dentro de Config.groovy a seguinte instrução:

grails.resources.modules = {
testeDropGraphics {
resource url:'/css/example.css'
resource url:'/js/lib/javascript1.min.js'
resource url:'/js/src/javascript2.js'
}
}

e na index eu utilizo as tags:

<r:require modules="testeDropGraphics"/>
<r:layoutResources/>
<r:script>
script..
</r:script>
</head>
<body>
<r:layoutResources/>
</body>
</html>

até ai tudo bem, os meus javascripts1 e 2 são carregados perfeitamente, porém, quando faço o mesmo dentro de teste.gsp que é acessada pelo controlador TesteController, tais bibliotecas não são carregadas, e o meu inspessor de elementos do chrome da a seguinte mensagem de erro: Failed to load resource: the server responded with a status of 404 (Not Found). Tentei da forma convencional tambem:

<script language="javascript" type="text/javascript" src="{resource(dir:'js/lib',file:'javascript1.min.js')}"></script>
<script language="javascript" type="text/javascript" src="{resource(dir:'js/src',file:'javascript2.js')}"></script>

Mas não deu certo. Alguém já passou por isso? agradeço antecipadamente qualquer ajuda.
Tags: resources, javascript, bibliotecas


0
Só para complementar o tópico, o meu javascript1.js está renomeado, mas na verdade representa o LAB.min.js, que ajuda a carregar outros js em tempo de execução, e no meu javascript2.js fica representado a invoção destes outros arquivos javascripts:

if(typeof javascript2 === "undefined"){
javascript2 = "js/";
}

// loading the lib
//
$LAB
.script(javascript2 +"lib/jquery.layout.js")
.script(javascript2 +"lib/jquery.autoresize.js")
.script(javascript2 +"lib/jquery-1.8.1.min.js").wait()
.script(javascript2 +"src/abc/A.js")
...

no index.gsp todos são carregados, sei disso pois se eu acessar a seguinte url: http://localhost:8080/TesteDrop/static/js/src/abc/A.js
A.js aparece para mim, mas no teste.gsp:
http://localhost:8080/TesteDrop/teste/teste/static/js/src/abc/A.js
ERRO: HTTP Status 404

O que estou fazendo de errado? está faltando alguma configuração especifica que não sei?
03/03/2013 13:46


0
eu só quero entender porque na minha /index.gsp, os recursos externos estão carregando perfeitamente enquanto em /teste/teste.gsp não???

Dentro de index.gsp em tempo de execução: OK!
<script src="http://localhost:8080/TesteDrop/static/js/src/io/Writer.js"></script>
...
...

Dentro de teste.gsp: Error 404! link não abre no browser
<script src="http://localhost:8080/TesteDrop/teste/teste/js/src/io/Reader.js"></script>
...
...
05/03/2013 01:05


0
Olá, Vicent.

Amigo, quando isso aconteceu comigo era problema de pouca memória para a JVM apenas.


0
Oi José, aumentei a memória em vários lugares:

No painel de controle java: -Xincgc -Xmx768M

Dentro de startGrails (256 para 512): GRAILS_OPTS="-server -Xmx768M -Xms64M -XX:PermSize=96m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8"

e até mesmo dentro de netbeans.conf (32 para 64): netbeans_default_options="-J-client -J-Xss2m -J-Xms64m -J-XX:PermSize=64m -J-Dapple.laf.useScreenMenuBar=true ..

Não aumentei do tomcat pois estou utilizando o servidor de aplicação jetty que está embutido no grails.

continua igual.
05/03/2013 14:39


0
Amigo, não uso o Grails com Netbeans e não sei como ele gerencia a memória. Eu tentaria fazer os famosos "limpar" do Netbeans e o "clean" do Grails no Projeto.

Achei muito anti-produtivo o Grails no Netbeans e olha que gosto muito do Netbeans (dou aula com ele numa faculdade).

Outra alternativa: Tenta criar um novo projeto em branco e vai copiando os arquivos que já tem nele para o novo. Comigo isso resolveu problemas "inacreditáveis" rsrss


0
Oi José, pela misericórdia divina consegui carregar as minhas bibliotecas, era algo que já tinha feito e não tinha funcionado, mas ñ sei porque fiz novamente e funcionou. Tudo que fiz foi alterar o patch em javascript2.js da seguinte forma:

if(typeof javascript2 === "undefined"){
javascript2 = "js/";
}

por este:

if(typeof draw2dPath === "undefined"){
draw2dPath = "../js/";
}

To até com vergonha de ter postado isso, mas como Niccolo Maquiavel disse um dia:

"Quanto mais próximo o homem estiver de um desejo, mais o deseja; e se não consegue realizá-lo, maior dor sente.
06/03/2013 00:42



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto