【发布时间】:2019-04-11 10:16:03
【问题描述】:
我一直在研究我的 Discord Bot Rxiqi,并且我一直想要在文件更改时自动重新加载命令...我的代码是
var folder = "./commands/";
fs.watch(folder, { encoding: 'UTF-8' }, (eventType, filename) => {
if (eventType ==="change") {
console.log(`Updating Command: ${folder+filename}`)
delete require.cache[require.resolve(folder+filename)];
client.commands.delete(folder+filename);
const props = require(filename);
client.commands.set(folder+filename,props);
}
});
但我不断得到这个控制台输出:
Updating Command: ./commands/adverts.js
Error: Cannot find module './commands/adverts.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.resolve (internal/module.js:18:19)
at FSWatcher.fs.watch (E:\BotDevelopment\Rxiqi\status\ready.js:62:38)
at emitTwo (events.js:126:13)
at FSWatcher.emit (events.js:214:7)
at FSEvent.FSWatcher._handle.onchange (fs.js:1364:12)
Updating Command: ./commands/adverts.js
Error: Cannot find module './commands/adverts.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.resolve (internal/module.js:18:19)
at FSWatcher.fs.watch (E:\BotDevelopment\Rxiqi\status\ready.js:62:38)
at emitTwo (events.js:126:13)
at FSWatcher.emit (events.js:214:7)
at FSEvent.FSWatcher._handle.onchange (fs.js:1364:12)
非常感谢任何帮助:)
【问题讨论】:
-
const props = require(filename);行应该是const props = require(folder + filename);,可能 -
不,仍然返回完全相同的错误堆栈。感谢您尝试 :)
标签: node.js fs discord.js