我正在使用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')
}
[..]
}
Hoewever,只要我在这里添加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>
我到底做错了什么?
答案 0 :(得分:1)
你在找这样的东西吗?
modules = {
...
streetmap {
resource url: 'http://www.openlayers.org/api/OpenLayers.js', disposition: 'head'
resource url:'js/streetmap.js'
}
...
}
其中js / streetmap.js包含我的附加功能
答案 1 :(得分:1)
您可能希望使用覆盖闭包来重新定义现有资源。 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
}
}
答案 2 :(得分:-1)
你可能想看看这个: http://code.google.com/apis/libraries/devguide.html
您可以使用此加载jQuery和jQuery-UI插件。