如何访问RequireJS中深度依赖返回的对象?

时间:2014-02-12 18:32:28

标签: javascript requirejs

假设我有三个模块,A B和C. C没有依赖关系,B依赖于C.模块A依赖于模块B,那么在需要B之后A有没有办法访问C?

1 个答案:

答案 0 :(得分:0)

您应该能够通过模块B的对象中的模块C返回。

// module C
define([], function() {
   // code
   return { /* c object */ };
});


// module B
define(['c'], function(c) {
   // code
   return { 
      /* b object */,
      'c': c
  }
});

// module A
define(['b'], function(b) {
   // c should now be accessible through b.c;
});

或者,模块A可能需要模块C并使用它。 require优化器将为您解析依赖关系,并且只加载模块C一次(对于A),B仍然可以使用它。