Ich habe die folgenden 3 Dateien.Können Knotenmodule einander benötigen
user.js erfordert room.js und room.js erfordert user.js.
user.js
var Room = require('./room.js');
var User = function() {};
User.prototype.test = function() {
return new Room();
};
module.exports = User;
room.js
var User = require('./user.js');
var Room = function() {};
Room.prototype.test = function() {
return new User();
};
module.exports = Room;
index.js
var User = require('./user.js');
var Room = require('./room.js');
var user = new User();
var room = new Room();
user.test();
room.test();
index.js erfordert sowohl Zimmer und Benutzer.
Hier ist das Problem. Wenn ich index.js ausführe, erhalte ich einen TypeError von 'new User()' in room.js. Es scheint, dass der Benutzer in room.js vom Benutzer in index.js versteckt ist.
Mache ich etwas falsch? Ist das erlaubt? Irgendwelche Ideen? Vielen Dank.
Gute Antwort. Vielen Dank. Re-Architecturing scheint der beste Weg zu sein :) – Ziyu