RequireJS:无法将任何模块导入特定模块

时间:2014-08-05 13:58:49

标签: javascript requirejs

问题:在下面的代码中,我无法将AnotherModule导入MyModule

define("MyModule",
    [
        'jquery', 'underscore', 'backbone', 'somepackage/AnotherModule',
        'jquery-ui'
    ],
    function($, _, Backbone, AnotherModule) {
   console.log(AnotherModule); // RefferenceError: AnotherModule is not defined
}

堆栈跟踪:

ReferenceError: AnotherModule is not defined
    at Object.eval (eval at evaluate (unknown source), <anonymous>:2:15)
    at FrameMirror.evaluate (native)
    at Object.evaluate (<anonymous>:415:28)
    at Object.InjectedScript._evaluateOn (<anonymous>:704:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:643:52)
    at Object.InjectedScript.evaluateOnCallFrame (<anonymous>:755:21)

P.S。我尝试将大量模块导入MyModule - 结果相同。这只发生在MyModule,另一个模块运作良好

1 个答案:

答案 0 :(得分:0)

你从 somepackage / AnotherModule 模块返回任何内容吗? 此外,不需要为您的模块命名(您不应该使用匿名模块ID&#34; MyModule&#34;)。只需让文件名为模块名称。

somepackage 文件夹中,添加文件 AnotherModule.js

// somepackage/AnotherModule.js
define(['underscore'], function(_) {
    var AnotherModule = {};

    AnotherModule.extend = _.extend;

    return AnotherModule;
});

使用&#34; MyModule&#34;:

//MyModule.js

define(['jquery', 'underscore', 'backbone', 'somepackage/AnotherModule'], function($, _, Backbone, AnotherModule) {
    console.log('args', arguments);
    console.log('AnotherModule', AnotherModule);

    var MyModule = {};

    return MyModule;
});