在Javascript中动态地使用
我有一个javascript函数,我使用Node.js调用它,我正在用它编写一个机器人在Javascript中动态地使用,javascript,node.js,Javascript,Node.js,我有一个javascript函数,我使用Node.js调用它,我正在用它编写一个机器人 loadGames() { let games; try { games = fs.readdirSync('./games'); } catch (e) {} if (!games) return; for (let i = 0, len = games.length; i < len; i++) { let file = gam
loadGames() {
let games;
try {
games = fs.readdirSync('./games');
} catch (e) {}
if (!games) return;
for (let i = 0, len = games.length; i < len; i++) {
let file = games[i];
if (!file.endsWith('.js')) continue;
file = require('./../games/' + file);
if (file.game && file.name && file.id) this.games[file.id] = file;
}
}
loadGames(){
让游戏;
试一试{
games=fs.readdirSync(“./games”);
}捕获(e){}
如果(!游戏)返回;
for(设i=0,len=games.length;i
我注意到,启动应用程序后,无论我如何更改“./games”文件夹(如果我创建新文件或更改现有文件),此函数始终会加载相同的游戏
为什么我的
fs.readdirSync
不是动态发生的,而是静态地基于我启动应用程序时游戏目录中包含的内容,有没有办法解决这个问题?您的意思是启动应用程序,调用loadGames(),添加新游戏,然后调用loadGames()同样,它保持不变?require
缓存加载的模块,因此,如果您在未重新启动应用程序(或清除require
的缓存)的情况下修改了required.js
文件,则对require
的后续调用将返回缓存的模块;修改后的.js
文件将不会加载。你是说启动应用程序,然后将新文件添加到/games
目录,并让应用程序响应目录中的更改?啊,我没有意识到必须清除require缓存。非常感谢。