In meiner Chat-Anwendung NodeJS und socket.io verwenden, muss ich variabel über verschiedene Module teilen, so dass der Wert auf eine Datei geändert sollte von anderen Datei zugegriffen werden. Ein Workflow meiner App ist wie folgt. NodeJS Austausch von variablen accross verschiedenen Modulen
Im Haupt app.js ich einen Controller-Datei enthalten sind, für die Authentifizierung „users.js“, in dem ich eine Variable verwenden, sagen wir zum Beispiel var = online {}; Bei jeder Anmeldung wird der Wert in diese Variable eingefügt. Für die Behandlung von Socket-Chat habe ich eine andere Controller-Datei namens chat.js verwendet, in der ich dieselben variablen Online-Benutzer verwenden muss.
Betrachten wir nun 3 Dateien app.js, user.js, chat.js
In app.js
var users = require('./users.js');
var chat = require('./chat.js');
users.set(app);
chat.set(app,io);
In user.js
module.exports.set = function(app) {
// var onlineusers modified in some function
}
In chat.js
module.exports.set = function(app,io) {
// var onlineusers modified in some function
}
Was ich brauche, ist die Variable var online Wert über verschiedene Module teilen (user.js und chat.js)
Shop die Variable in einem Modul und ein Verfahren exportieren, der den Wert abruft. Sie können dann den Wert der gleichen Variablen von jedem Modul erhalten. – jfriend00
Eine weitere Abfrage, wirkt sich dies auf die Leistung aus, wenn die Anzahl der Online-Benutzer zunimmt. Außerdem muss ich auch Variablen für Räume verwenden – Ajith
Nein, dies hat keinen Einfluss auf die Leistung, da Online-Nutzer in keiner Weise zunehmen. In Ihrem Serverzeitraum ist eine Modulinstanz geladen. Sie erstellen nur eine Accessor-Funktion, um einige im Modul gespeicherte Daten abzurufen. Dies ist eine gängige und gute Möglichkeit, Daten ohne Skalierbarkeits-Nachteile auszutauschen. – jfriend00