我有一個內部使用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'並不意味着要這樣做 –
這個庫很大,將它分成模塊意味着它更容易處理。 –
你可以用不同的方式做到這一點。檢查我的答案:) –