在另一个文件中更新JS变量

时间:2017-04-15 02:38:29

标签: javascript node.js

我正在开发一个机器人,我的目标是在每次调用时为我的机器人创建一个计数器。我的第一个想法是将变量存储在另一个文件中,当调用主js文件时,它调用一个方法来更新另一个文件中的变量。我是否必须使用require()或者还有其他方法可以执行此操作吗?

2 个答案:

答案 0 :(得分:0)

到目前为止,我可以想到两种方法:

  1. 在another.js中,您module.exports = {counter:0};和main.js中require(./another).counter++;(每次返回require都是原始对象(nodejs' s缓存机制)
  2. 将计数器放入全球范围:global.counter = 0;
  3. 希望这会对你有所帮助。祝你好运。

答案 1 :(得分:0)

您应该将数据存储在数据库或JSON文件中。对于JSON文件,代码可以这样写。

let fs = require('fs');
let updateCounter = () => {
  fs.readFile('/path/to/counter.json', 'utf8', (er, data) => {
    if(er){
      throw er;
    }
    data = JSON.parse(data);
    data.calledTimes++;
    fs.writeFile('/path/to/counter.json', JSON.stringify(data), er => {
      if(er){
        throw er;
      }          
    });
  });
}

counter.json

{
  "calledTimes": 0
}