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 ボット) を持っていて、peeps が @add 1 または @remove 1 を実行できる機能を追加したいと考えています。したがって、add は add.js ファイルをトリガーし、require('main.js') に 10 (単純化のために 10、実際には数値を解析してその数値を使用します) を追加します。私が抱えている問題は、誰かが行って @remove を実行したときです。これは require('main.js') で、1 から 10 を引いて -9 になります。@total を実行すると、1 が出力されます。
module.exports をかなりよく検索しましたが、上記のような例は見つかりませんでした。 ドキュメントには、私がやりたいことに近い例は含まれていません。これらの質問1、2は理解していますが、そこで言われていることは理解しているので、私にとっては何の役にも立ちません。
質問:
@add と @remove の両方で同じ変数 ( count ) を操作し、@total が @add と @remove を考慮して count の合計を返すようにしたいと考えています。module.exports を間違って使用していますか? または、1 つのファイルで module.exports の内容を変更し、結果を main.js ファイルに返すことができる、変数を共有する一般的な方法はありますか?