RequireJS未定义模块

时间:2014-12-16 07:31:19

标签: javascript requirejs

我正在加载JQuery和JQuery UI。由于某种原因,JQueryUI未定义,我似乎无法弄清楚原因。我知道路径是正确的,因为如果我将其更改为不正确的路径,我会得到一个不同的错误,所以我知道它正在“加载”但我无法弄清楚为什么它是未定义的。我已经加载了很多其他模块,所以我不知道问题是什么。我不知道我将如何包含循环依赖,这是我似乎发现的唯一会导致这种情况的依赖。谢谢你的帮助。

Main.js

require.config({
    paths: {
        'text': '../../Scripts/RequireJS/text',     
        'jquery': "../../Scripts/JQuery/jquery-2.1.1",
        'JQueryUI': "../../Scripts/JQueryUI/jquery-ui.min",      
        'app': 'app'
    },
    shim: {
        'app': {
            deps: [ 'kendovendor']
        },
       'JQueryUI': {
            deps: ['jquery']
        }
    }
});

然后我尝试在视图模型中加载它:

define(['JQueryUI', 'jquery'], function (jqui, jq) {
    //jqui is undefined, jq is not.
    ...
}

1 个答案:

答案 0 :(得分:3)

jQuery UI构建于jQuery之上。我不认为你可以直接打电话给其成员。尝试调用一些JUI函数(例如 $(.. some input button ..).button()),它应该可以工作。像这样定义你的模块就足够了:

define([ 
'jquery',
'JQueryUI'
], function (jq) 
{
//jq(..).button();
}