在requirejs中定义模块时加载顺序?

时间:2014-09-25 09:15:29

标签: requirejs amd

我知道可以使用嵌套的需求。

 require(["site_common/js/config"], function () {
   require(['infrastructure'], function() { ...

我想定义一个模块,它依赖于A.js而A.js依赖于B.js

define([B], func() {
  require([A], func() {
     var C = new Foo();
     return C;
  });
});

不起作用。如何定义依赖于A和A的C取决于B?

1 个答案:

答案 0 :(得分:0)

您通常不应将呼叫嵌套到require。 你能不能把它作为正常依赖包括在内?

require(["site_common/js/config", 'infrastructure'], function (config, infra) { ...

或者:

文件 A.js

define(['B'], function (B) {
    return { b: B };
}

文件 B.js

define([], function () {
    return { message: "hello!" };
}

文件 C.js

define(['A'], function (A) {
    return { a: A };
}

file main.js

require(['C'], function (C) {
    alert( C.a.b.message ); // alert box saying "hello!"
});