Совместное использование и изменение переменной между несколькими файлами node.js
var count = 1;
// psuedocode
// if (words typed begins with @add)
require('./add.js');
// if (words typed begins with @remove)
require('./remove.js');
// if (words typed begins with @total)
require('./total.js');
module.exports.count = count;
total.jsvar count = require('./main.js').count;
console.log(count);
add.jsvar count = require('./main.js').count;
count += 10;
console.log(count);
remove.jsvar count = require('./main.js').count;
count -= 10;
console.log(count);
console.log 1
11
-9
Фон:У меня есть приложение (irc bot), и я хочу добавить функцию, которую peeps может делать @add 1 или @remove 1. У меня есть main.js, который затем требует разные файлы в зависимости от указанных триггеров. Таким образом, add вызовет файл add.js, а затем потребуется ('main.js') и добавит 10 (10 для упрощения, он фактически проанализирует число и будет использовать это число). У меня проблема, когда кто-то идет и делает @remove. Он требует ('main.js') и вычитает 10 из 1, что приводит к -9. И выполнение @total вывело бы 1.
Я выполнил довольно хороший поиск для module.exports, и я не сталкивался с примером, подобным приведенному выше.Документы не включайте примеры, близкие к тому, что я хочу сделать; и эти вопросы1, 2 Я понимаю - но они мне бесполезны - я понимаю, что там говорится.
Вопрос:Я бы хотел, чтобы @add и @remove манипулировали одной и той же переменной (count), а @total возвращала бы общее количество с учетом @add и @removes. Я использую module.exports неправильно; или существует общий способ, которым переменные используются совместно, при этом один файл может изменять содержимое module.exports и возвращать результаты в файл main.js?