javascript - 如何制作事件处理程序
问题描述
我完成了我的命令处理程序,但我遇到了一个错误,想知道这个社区中是否有人可以帮助我解决这个问题?
我的代码:
const fs = require('fs');
module.exports = (client, Discord) => {
const load_dir = (dir) => {
const event_files = fs.readdirsync(`./events/${dirs}`).filter(file =>
file.endsWith(`.js`));
for (const file of event_files){
const event = require(`./events/${dirs}/${file}`);
const event_name = file.split('.')[0];
client.on(event_name, event.bind(null, Discord, client));
}
}
['client', 'guild'].forEach(e => load_dir(e));
}
我的错误:
ReferenceError: dirs is not defined
at load_dir (/home/runner/Buddy-Bot/handlers/event_handler.js:5:50)
at /home/runner/Buddy-Bot/handlers/event_handler.js:14:35
at Array.forEach (<anonymous>)
at module.exports (/home/runner/Buddy-Bot/handlers/event_handler.js:14:22)
at /home/runner/Buddy-Bot/index.js:11:34
at Array.forEach (<anonymous>)
at /home/runner/Buddy-Bot/index.js:10:38
at Script.runInContext (vm.js:130:18)
at Object.<anonymous> (/run_dir/interp.js:209:20)
at Module._compile (internal/modules/cjs/loader.js:999:30)
如果您能提供帮助,将不胜感激!
解决方案
dirs
当你没有这样的变量时,你正在使用。我认为你应该使用dir
.
推荐阅读
- docker - AWS 服务发现、nginx 和节点问题
- raml - 如何在 RAML 中指定 API 请求标头值
- angular - 如何更改输入中的节点属性值?
- android - Android:小部件:“嵌入式/预定义”图像丢失?
- php - 未捕获的错误:调用未定义的函数 getConnection()
- ios - 进入信标区域后开始位置更新监控 Swift
- java - Hibernate 与 Where 子句的一对一映射
- amazon-web-services - 如何在处理程序函数之外访问全局范围内的阶段
- powershell - 我可以从历史记录中重新运行 Power Automate 流实例吗?
- angular - Angular 真的需要集成 Odata 排序、过滤等功能吗?