【问题标题】:Where should I put javascript libraries in a Grails app?我应该将 javascript 库放在 Grails 应用程序的什么位置?
【发布时间】:2011-01-03 22:28:09
【问题描述】:

我有几个自己的 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>

我确信有一种巧妙的 grails 方法可以即时执行此操作,但我真的只是想要一个可以放置一些可在我的应用程序中使用的样板 JavaScript 代码的位置。考虑到约定优于配置,预期的做法是什么?

【问题讨论】:

    标签: javascript grails gsp


    【解决方案1】:

    您可能不应该使用&lt;g:javascript library="myLib" /&gt;,因为它是用来使 AJAX 调用库(scriptaculous、dojo、yahoo、jquery)无动于衷的一种方式。见grails javascript。而是使用&lt;g:javascript src="myLib.js" /&gt;

    【讨论】:

      【解决方案2】:

      您的 JS 文件位于:web-app/js/myLib.js,我认为将 &lt;g:javascript library="myLib" /&gt; 放入您的布局中应该是您需要的。

      【讨论】:

      • 见下文:这是错误的。 是正确的。
      • 你在@RickMangi 忘记了 js。正确的做法是:&lt;g:javascript src="myLib.js" /&gt;
      • 构建和部署应用程序时会发生什么? JavaScript是否自动打包???
      【解决方案3】:

      有两种方法可以包含 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

      【讨论】:

        【解决方案4】:

        我想我找到了答案……

        如果我在我的 gsp 中使用这个标签(而不是直接的 javascript 引用)

        <g:javascript library="mylib" />     
        

        然后当我查看生成的页面源时,它指的是

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

        这对应于文件夹web-app/js,所以我把我的脚本库放在那里,它工作正常。对我来说,突破是 a) 将我的 index.html 重命名为 index.gsp 和 b) 使用 g:javascript 标签。

        【讨论】:

        • 是的 - 我需要更快地输入:)
        【解决方案5】:

        使用&lt;g:javascript src="myscript.js" /&gt; 并将您的脚本放入web-app/js/myscript.js

        有关您自己的外部脚本、内联代码和库的完整详细信息和示例,请参阅http://grails.org/doc/latest/ref/Tags/javascript.html

        【讨论】:

        • 在 grails 3 中呢?
        猜你喜欢
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 2012-03-03
        • 2015-10-19
        • 2012-07-09
        • 1970-01-01
        • 2012-03-03
        • 2022-01-19
        相关资源
        最近更新 更多