在Javascript中动态地使用

在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

我有一个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 = 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缓存。非常感谢。