Resolvendo Dependência Circular no Nó Usando o requirejs
Eu tenho experimentado muitas sugestões que encontrei no google para dependência circular no nó e no requirejs. Infelizmente, não estou conseguindo fazer isso funcionar. A tentativa que está fechada para uma solução (eu acho) está abaixo:
// run.js
var requirejs = require('requirejs');
requirejs.config({
baseUrl: __dirname,
nodeRequire: require
});
requirejs(['A'], function(A) {
var a = new A.Go();
console.log(a.toon())
});
// A.js
define(['B', 'exports'], function(B, exports) {
exports.Go = function() {
var b = new require('B').Ho();
var toon = function() {
return 'me tarzan';
};
return {
b: b,
toon: toon
}
};
});
// B.js
define(['A', 'exports'], function(A, exports) {
exports.Ho = function() {
var a = new require('A').Go();
var show = function() {
return 'you jane';
}
return {
a: a,
show: show
}
};
});
Executar este código no nó resulta em um RangeError: Tamanho máximo de pilha de chamada excedido Nós, a dependência de B é removida de A.js, 'me tarzan' é retornado
Qualquer sugestão é apreciada!