Совместное использование и изменение переменной между несколькими файлами node.js

main.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.js
var count = require('./main.js').count;
console.log(count);
add.js
var count = require('./main.js').count;
count += 10;
console.log(count);
remove.js
var 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?

Ответы на вопрос(5)

Ваш ответ на вопрос