使用dojo require解决jQuery和jQueryUI之间的依赖关系

使用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/',

首先,我使用的是dojo框架的自定义构建
(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插件。通过这种方式,我确保在开始加载文件之前加载文件的每个依赖项。