В моем приложении чата с использованием nodejs и socket.io мне нужно обмениваться переменной между разными модулями, так что значение, измененное в одном файле, должно быть доступно из другого файла. Рабочий процесс моего приложения выглядит следующим образом.Nodejs, использующий переменную в разных модулях
В главном app.js Я включил файл контроллера для аутентификации «users.js», в котором я использую переменную, например, var onlineusers = {}; При каждом входе значение вставляется в эту переменную. Для обработки чата сокета я использовал другой файл контроллера с именем chat.js, где мне нужно использовать одну и ту же переменную онлайн-пользователей.
Рассмотрим теперь 3 файла 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
}
Что мне нужно будет делить значение переменной вар onlineusers разных модулей (user.js и chat.js)
Храните переменную в одном модуле и экспортируйте метод, который извлекает значение. Затем вы можете получить значение той же переменной из любого модуля. – jfriend00
Еще один запрос: влияет ли это на производительность, если число пользователей Интернета увеличивается. Также мне нужно использовать переменные для комнат, а также – Ajith
Нет, это не влияет на производительность по мере увеличения количества пользователей в Интернете. В период вашего сервера загружен один экземпляр модуля. Вы просто создаете функцию доступа, чтобы получить некоторые данные, хранящиеся в модуле. Это общий и хороший способ обмена данными, которые не имеют недостатков масштабируемости. – jfriend00