Lösen der zirkulären Abhängigkeit im Knoten mithilfe von requirejs
Ich habe schon viele Vorschläge ausprobiert, die ich für die zirkuläre Abhängigkeit in node und requirejs gegoogelt habe. Leider bringe ich es nicht zum Laufen. Der Versuch, der für eine Lösung geschlossen ist (glaube ich), ist unten:
// 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
}
};
});
Das Ausführen dieses Codes in Node führt zu einem RangeError: Die maximale Größe des Aufrufstapels wurde überschritten. Wir entfernen die Abhängigkeit von B aus A.js und geben 'me tarzan' zurück
Jeder Vorschlag wird geschätzt!