jQuery插件和JS脚本之间的Grails冲突

时间:2015-02-10 14:15:17

标签: javascript jquery grails

我有一个需要jQuery的Grails应用程序,所以我通过插件加载jQuery和jQuery-UI:

buildConfig.groovy:
    runtime ":jquery:1.11.1"
    compile ":jquery-ui:1.10.4"

只要我不包含一个也使用jQuery的独立JS脚本,那就行得很好。这个脚本名为myscript.jquery.js,我把它放在web-app / js。

现在我将这些插件和脚本包含在main.gsp中:

main.gsp:
<html>
<head>
      ...

<r:require modules='jquery, jquery-ui, bootstrap, customcss' />
<g:javascript src="myscript.jquery.js"/>

<r:layoutResources disposition="defer" />

<g:layoutHead/>
<r:layoutResources disposition="head"/>

</head>
<body>
      ...

我得到了

ReferenceError: jQuery is not defined
$ = jQuery;

我犯了一个特定的错误吗? 有没有更好的方法来解决这个问题?

PS:我试图通过main.gsp中的脚本直接加载jQuery,但是没有用,因为我有其他依赖于jQuery插件的插件: - /

1 个答案:

答案 0 :(得分:2)

在config中的ApplicationResources.groovy文件中添加脚本,然后在页面中添加该模块。这将解决问题。

实施例: 在您的conf / ApplicationResources.groovy

modules = {
    baseJS {
        resource url: 'js/myscript.jquery.js'
    }
}

在你的gsp文件中

<r:require modules='jquery, jquery-ui, bootstrap, customcss, baseJS' />

这是旧博客,但你会明白这个想法

http://www.anyware.co.uk/2005/2011/09/12/optimising-your-application-with-grails-resources-plugin/

由于