问题:在下面的代码中,我无法将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
,另一个模块运作良好
答案 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;
});