代码之家  ›  专栏  ›  技术社区  ›  Simon

在Grails应用程序中,我应该把JavaScript库放在哪里?

  •  17
  • Simon  · 技术社区  · 15 年前

    我有几个自己的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代码。考虑到约定优于配置,预期的做法是什么?

    5 回复  |  直到 12 年前
        1
  •  13
  •   Will Prescott    15 年前

    您的JS文件位于: web-app/js/myLib.js <g:javascript library="myLib" /> 在你的布局中,我应该认为你需要什么。

        2
  •  23
  •   Benedikt Waldvogel assylias    12 年前

    你可能不应该使用 <g:javascript library="myLib" /> 因为这是一种让Ajax调用库(scriptaculous、dojo、yahoo、jquery)变得冷漠的方法。见 grails javascript . 代替使用 <g:javascript src="myLib.js" /> .

        3
  •  1
  •   Sanjay Kumar    12 年前

    有两种方法可以包括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
  •  0
  •   Simon    15 年前

    我想我找到了答案…

    如果我在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
  •  0
  •   Mat    12 年前

    使用 <g:javascript src="myscript.js" /> 把你的剧本放进去 web-app/js/myscript.js

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