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

标签 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 插件的插件:-/

最佳答案

将脚本添加到配置中的 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/

谢谢

关于javascript - Grails jQuery 插件和 JS 脚本之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28433860/

相关文章:

javascript - Jquery 清除文本框不起作用?

javascript - 为什么在事件处理程序函数外部定义的函数需要保存在事件处理程序内部的新变量中?

grails - Spring Security 登录页面 UI 问题

Grails:什么可以确保版本检查和更新是原子的?

grails - Grails,tagLib g:remoteLink不存在

javascript - Mongo 陷阱 : how can I perform kind of synchronously, 上的异步操作我有正确的逻辑

javascript - 是否可以使用前端 JavaScript 编写 JSON 文件?

javascript - 如何获取innerHTML的id值?

javascript - 当 div 状态改变时改变输入

jquery - 向上滚动和向下滚动事件