提问人:Simon 提问时间:1/12/2010 更新时间:5/13/2013 访问量:17945
我应该把 javascript 库放在 Grails 应用程序的什么位置?
Where should I put javascript libraries in a Grails app?
问:
我有几个自己的 Javascript 库,它们对我的 HTML 页面进行了一些漂亮的美化,我想将它们包含在我的 gsp 页面中,尤其是我的应用程序的登录页面。我试过把它们放在文件夹中,但是当我加载我的index.gsp时,脚本没有显示出来。views
web-app/js
$APP_HOME/scripts
我还在我的代码中尝试了各种替代方案,但没有一个有效......
<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 代码的位置。考虑到约定胜于配置,预期的做法是什么?
答:
我想我找到了答案......
如果我在我的 gsp 中使用这个标签(而不是一个简单的 javascript 参考)
<g:javascript library="mylib" />
然后,当我查看生成的页面源代码时,它指的是
<script type="text/javascript" src="/myapp/js/mylib.js"></script>
这对应于文件夹,所以我把我的脚本库放在那里,它工作正常。对我来说,突破是 a) 将我的index.html重命名为 index.gsp 和 b) 使用标签。web-app/js
g:javascript
评论
将您的 JS 文件放在: ,放入您的布局应该是您所需要的。web-app/js/myLib.js
<g:javascript library="myLib" />
评论
<g:javascript src="myLib.js" />
您可能不应该使用,因为这意味着将其用作使 AJAX 调用库(scriptaculous、dojo、yahoo、jquery)无动于衷的一种方式。参见 grails javascript。请改用 .<g:javascript library="myLib" />
<g:javascript src="myLib.js" />
使用脚本并将其放置在<g:javascript src="myscript.js" />
web-app/js/myscript.js
有关您自己的外部脚本、内联代码和库的完整详细信息和示例,请参阅 http://grails.org/doc/latest/ref/Tags/javascript.html。
评论
有两种方法可以包含 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>
评论