interval = setInterval(function() {
online = require("./../../server/oxide/data/online.json");
if (online.ONLINE == -1)
{
client.user.setStatus(`dnd`);
client.user.setActivity("server offline");
}
else if (online.ONLINE == 0)
{
client.user.setStatus(`idle`);
client.user.setActivity("no one");
}
else
{
client.user.setStatus(`online`);
client.user.setActivity(`Players ${online.ONLINE}/500`);
}
console.log(`update ${online.ONLINE}`)
}, 10000);
每10秒在线在线更新
index.js只在我重新启动js文件时才改变变量,但我不能重新启动它。可以帮助SMB PLS
1条答案
按热度按时间pkmbmrz71#
在Node.js中,
require
在第一次被调用后会被缓存,因此每次调用它都不会再次从文件中读取。(来源:https://nodejs.org/API/modules.html#modules_caching)为了解决这个问题,你可以使用其他节点。js函数如
fs.readFileSync
方法读取文件raw每次需要从JSON文件读取时,示例如下:(The
fs.readFileSync
的第一个参数是文件的路径,而第二个参数是编码。在大多数情况下使用utf-8
非常重要,以确保它支持JSON文件中可能存在的所有不同的文本编码/语言)