我有一个内部使用AMD模块(requirejs)的库。我想从这些模块中返回一些方法作为公共API。目前我正在使用一个同步请求调用来做到这一点。requirejs模块包含模块
如:
// library
define("a", function(){
define("b", ['somedep','anotherdep'], function(dep, dep2){
return { something: "x"};
});
return {
b: require('b').something
};
});
// then to use it.
require(['a'], function(a){
});
然而,这提供了错误。 错误:模块名称“b”尚未加载上下文:_。使用require([])
我不想公开内部定义调用外部(通过展开所有定义),因为我不希望库消费者能够使用这些内部模块。
为什么你需要在模块内部定义一个模块?你可以分开这些吗?我认为'requirejs'并不意味着要这样做 –
这个库很大,将它分成模块意味着它更容易处理。 –
你可以用不同的方式做到这一点。检查我的答案:) –