RequireJS加载脚本文件但传递的引用未定义

Rub*_*ord 6 amd requirejs

我有以下requireJS配置.当试图引用包/ ImagingX模块时,我总是得到未定义,即使我可以看到脚本已经加载到firebug中.如果我将有问题的js文件移动到baseUrl目录并删除package /它按预期工作.

我究竟做错了什么?

window.requirejs.config(
        {
            baseUrl: '/Scripts',
            paths: {
                "jquery": "./jquery-1.7.1.min",
                "jqx": "/Content/Plugins/jqWidgets",
                "package" : "/Scripts/packages"
            },
            urlArgs: "bust=" + (new Date()).getTime(),
            shim : {
                'jqx/jqxcore': ['jquery'],
                'jqx/jqxsplitter': ['jquery','jqx/jqxcore']
            }
        }
    );

    window.require(['jquery', 'layoutManager', 'container', 'package/ImagingX'],
        function ($,lm,container,px) {

            px.Focus();

            $(document).ready(function () {
                lm.Init(); // Sets up panes
                container.Init(); //Set up the containers
            });
    });
Run Code Online (Sandbox Code Playgroud)

更新15/10/2012

我现在急需解决这个问题,我已经把所有内容都删回了基础,所以这里是新的主文件:

(function () {

    requirejs.config({
        paths: {
            "packages": "packages"
        }
    });

    require([
            'packages/testmodule'
        ],
        function (tm) {
                alert(tm);
    });

})();
Run Code Online (Sandbox Code Playgroud)

以及名为packages的子文件夹中的模块.

define('testmodule',
function () {

    alert("called");

    return {
        set : 'rar  '    
    };

});
Run Code Online (Sandbox Code Playgroud)

我可以看到脚本已加载但它永远不会被执行,因此我从来没有得到它的参考.

在此输入图像描述

Rub*_*ord 4

 requirejs.config({
        paths: {
            //"jquery": "./jquery-1.8.2.min",
            //"jqx": "/Content/Plugins/jqWidgets",
            "templates": 'templates',
            "text": "commonRequireJsModules/text",
            "domReady": "commonRequireJsModules/domReady",
            "packages" : 'packages/'
            //'signalR': './jquery.signalR-0.5.3.min',
            //'knockout': './knockout-2.1.0',
            //'pubsub' : './pubsub'
        }
        //,urlArgs: "bust=" + (new Date()).getTime()
        //,
        //shim : {
        //    'jqx/jqxcore': ['jquery'],
        //    'jqx/jqxsplitter': ['jquery', 'jqx/jqxcore'],
        //    'signalR': ['jquery'],
        //    'pubsub' : ['jquery']
        //}
    });
Run Code Online (Sandbox Code Playgroud)

包路径上的尾部斜杠似乎已经解决了这个问题,部分还删除了模块定义部分中的名称。所以现在看起来像

define(['deps'],function(deps){
});
Run Code Online (Sandbox Code Playgroud)

而不是

define('myMod',['deps'],function(deps){
});
Run Code Online (Sandbox Code Playgroud)