使用Grails Asset-Pipeline将JavaScript放在最下面

con*_*ile 4 javascript grails groovy asset-pipeline grails-2.0

使用Grails资源插件,您可以使用gsp布局,如下所示:

<!DOCTYPE html>
<html>
<head>
    <g:layoutHead/>
    <r:layoutResources /> 
</head>
<body>
   <g:layoutBody/>


   <g:javascript library="jquery" plugin="jquery" /> 

   <r:layoutResources />

</body>
Run Code Online (Sandbox Code Playgroud)

使用r:layoutResources标记,您可以指定资源应包含在JQuery之后页面的底部,该位置位于布局gsp的底部。

有没有办法对Asset-pipeline插件做同样的事情?如何在JQuery包含之后将资源放在文档事件的底部?

Cag*_*lan 6

在您的布局文件中,输入以下内容:

<html>
<body>
....
<!-- Your layout scripts -->
<asset:javascript src="app.js"/>

<!-- Custom placeholder for page scripts -->
<g:ifPageProperty name="page.footScripts">
    <g:pageProperty name="page.footScripts" />
</g:ifPageProperty>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后在您的页面(即index.gsp)中,放入

<html>
<body>
...
...
</body>
</html>

<content tag="footScripts">
    <asset:javascript src="jqueryui/jquery-ui.min"/>
</content>
Run Code Online (Sandbox Code Playgroud)

这样,您可以使用在各个页面中定义的内容来扩展布局。

Grails 3文档(尽管在Grails 2中相同)

参见章节8.2.6 Sitemesh内容块