我正在开发一个机器人,我的目标是在每次调用时为我的机器人创建一个计数器。我的第一个想法是将变量存储在另一个文件中,当调用主js文件时,它调用一个方法来更新另一个文件中的变量。我是否必须使用require()或者还有其他方法可以执行此操作吗?
答案 0 :(得分:0)
到目前为止,我可以想到两种方法:
module.exports = {counter:0};
和main.js中require(./another).counter++;
(每次返回require都是原始对象(nodejs' s缓存机制)global.counter = 0;
希望这会对你有所帮助。祝你好运。
答案 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;
}
});
});
}
{
"calledTimes": 0
}