Чтение документации requireJs,
для исправления круговых зависимостей, предлагается использовать exports
для создания пустого объекта для модуля, который доступен для немедленной ссылки другими модулями.Циркулярные зависимости в модулях с использованием requireJs
Прошу этот код, но, похоже, не работает. Что не так?
P.S .:
прочитать комментарии для просмотра выход,
особенно модуль B внутри SetTimeout вызова.
// 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