使用dojo require解决jQuery和jQueryUI之间的依赖关系
首先,我使用的是dojo框架的自定义构建使用dojo require解决jQuery和jQueryUI之间的依赖关系,jquery,jquery-ui,dojo,dependencies,require,Jquery,Jquery Ui,Dojo,Dependencies,Require,首先,我使用的是dojo框架的自定义构建(v1.9.0),使用build.dojotoolkit.org/,以及我所需的模块,包括加载程序模块 我有一个关于dojo.requireloader和jQuery框架的问题。主要的问题是如何解决jQuery和jQueryUI(asn通过扩展和所有其他jQuery插件)之间的依赖关系 我一直试图通过以下方式加载它们来进行一个简单的测试: require({ async: true, baseUrl: 'js/GUIFramework/',
(v1.9.0)
,使用build.dojotoolkit.org/
,以及我所需的模块,包括加载程序
模块
我有一个关于dojo.require
loader和jQuery框架的问题。主要的问题是如何解决jQuery和jQueryUI(asn通过扩展和所有其他jQuery插件)之间的依赖关系
我一直试图通过以下方式加载它们来进行一个简单的测试:
require({
async: true,
baseUrl: 'js/GUIFramework/',
tlmSiblingOfDojo: false,
paths: {
dojo: 'external/dojo/dojo-1.9',
jQuery: 'external/jquery/jquery-1.9.1',
jQueryUI: 'external/jquery/jquery-ui.min'
}
},
[
'jQuery',
'jQueryUI'
],
function (jQuery, jQueryUI) {
var test = jQuery;
});
但是,在尝试加载模块后执行回调函数时,出现以下错误(请参见firebug):
jQuery-ui.min.js(línea 5)中的“引用错误:未定义jQuery”
我见过其他加载程序,比如RequireJS,有一个名为“shim
”的配置选项,专门加载定义了非“define”函数的文件。但是我还没有看到类似的dojo.require
您是否知道如何解决这一特定情况以及其他可能发生的类似情况
谢谢,,
注意。垫片实际上只是执行以下操作:
define([], function() {
return jQuery;
});
jQuery和许多其他JavaScript库/框架将自己添加到全局范围,jQuery将
$
符号添加为jQuery
。现在,您只需定义自己的jQuery shim模块,该模块将返回该全局变量。在Dojo中导航并查找“shim”
实现后,我发现了一个插件,“use.js”
(),它似乎具有与RequireJS中的“shim”
相同的功能,通过目前为止我所做的测试,它似乎运行良好
我希望这对任何人都有帮助
编辑:我发布到
use.js
插件的链接不再可用。现在你可以看到了。你的回答让我大开眼界,我终于找到了一个接近你评论的解决方案。我已经选择定义中间模块,在这里我加载我所需要的无AMD文件和jQuery插件。通过这种方式,我确保在开始加载文件之前加载文件的每个依赖项。