爲了修復循環依賴性,請閱讀requireJs文檔
,建議使用exports
爲可立即供其他模塊參考的模塊創建空對象。使用requireJs的模塊中的循環依賴關係
我嘗試這段代碼,但它似乎不起作用。哪裏不對?
P.S:
閱讀評論的看到setTimeout調用內部的輸出,
尤其是B模塊。
// A module
define([
'b'
], function (b) {
console.log('B:', b); // B, Object
var A = {
boo: 1
};
return A;
});
// B module
define([
'a',
'exports'
], function (a, exports) {
console.log('A:', a); // A, undefined (as I was expecting)
exports.A = function() {
return a;
}
var B = {
bar: 1
};
setTimeout(function() {
console.log('exports.A', exports.A()); // exports.A undefined
// I would like to access the A object
// which is defined in A module
}, 500);
return B;
});
// main.js
(function() {
define([
'a'
], function() {
});
}());
我認爲這可能會有所幫助http://stackoverflow.com/questions/4771025/understanding-when-and-how-to-use-require-js?rq=1 – Jake
@ lorraine-bernand你知道如何解決這個?上面的鏈接並沒有給我足夠的手柄來解決它。 – donnut
我希望這是一個回答的問題。我一直遇到這個:) – SimplGy