【问题标题】:Loading resources like JQuery and JQuery UI from CDN从 CDN 加载 JQuery 和 JQuery UI 等资源
【发布时间】:2012-02-19 17:51:59
【问题描述】:

我正在使用 grails 资源 1.1.6,我可以从外部主机加载库,例如:

modules = {

    jquery_cdn {
        resource(disposition: "head", url:'js/jquery.mobile-1.7.1.js', linkOverride:'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js')
    }
[..]
}

但是,只要我在这里添加 jquery-ui,它就会停止工作并从当前主机解析文件。

modules = {
    jquery_cdn {
        resource(disposition: "head", url:'js/jquery.mobile-1.7.1.js', linkOverride:'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js')
        resource(disposition: "head", url:'js/something', linkOverride:'http://anything')
    }
[..]
}

这会导致:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript" ></script>
<script src="/static/XMKHDE4MFb89NXoDjkyRQnfxc1eyN63e6j43EEfPshE.js" type="text/javascript" ></script>

我到底做错了什么?

【问题讨论】:

  • 这个问题有什么解决办法吗?

标签: jquery grails resources cdn


【解决方案1】:

你在寻找这样的东西吗?

modules = {
    ...
    streetmap {
        resource url: 'http://www.openlayers.org/api/OpenLayers.js', disposition: 'head'
        resource url:'js/streetmap.js'
    }
    ...
}

其中 js/streetmap.js 包含我的附加功能

【讨论】:

    【解决方案2】:

    您可能希望使用覆盖闭包来重新定义现有资源。 jquery ui 使用键“jquery”作为依赖项。要“全局”覆盖此键,请使用:

    def jqver = org.codehaus.groovy.grails.plugins.jquery.JQueryConfig.SHIPPED_VERSION
    
    // ...
    
    // setup cdn as overrite for jquery libs
    overrides {
        jquery {
            resource id:'js', url: "http://ajax.googleapis.com/ajax/libs/jquery/${jqver}/jquery.min.js",
                    disposition:'head', nominify: true
        }
    
        'jquery-ui' {
            resource id:'js', url: "http://ajax.googleapis.com/ajax/libs/jqueryui/${jqver}/jquery-ui.min.js",
                    disposition:'head', nominify: true
        }
    }
    

    【讨论】:

      【解决方案3】:

      您可能想检查一下: http://code.google.com/apis/libraries/devguide.html

      你可以用这个加载 jQuery 和 jQuery-UI 插件。

      【讨论】:

      • 问题不是如何包含来自 google 的 JQ,而是如何配置 grails 资源插件以包含这些。
      猜你喜欢
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2019-10-26
      • 2012-11-06
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 2012-04-05
      相关资源
      最近更新 更多