javascript - 无法读取未定义的属性“名称”,我需要一些帮助
问题描述
const fs = require('fs');
function loadCommands(client) {
fs.readdir('commands/', (err, files) => {
if (err) console.log(err);
const jsfile = files.filter(f => f.split('.').pop() === 'js');
if (jsfile.length <= 0) {
return console.log('Bot Couldn\'t Find Commands in commands Folder.');
}
jsfile.forEach((f, i) => {
const pull = require(`../commands/${f}`);
client.commands.set(pull.config.name, pull);
pull.config.aliases.forEach(alias => {
bot.aliases.set(alias, pull.config.name);
});
});
});
}
module.exports = {
loadCommands
}
我不知道为什么它在这里的错误看起来很棒的代码......
错误在client.commands.set(pull.config.name, pull); 在bot.aliases.set(alias, pull.config.name); 显示未定义。
我需要一些帮助,我正在尝试为我的机器人制作一个自定义前缀,我真的需要这个代码!
解决方案
其中一个文件../commands/whateverFile.js
不导出config
,或者导出config
但没有.name
在其上放置属性。您没有向我们展示任何这些文件,因此很难猜测问题所在。
你可以试试这个来找出哪个文件是坏的。
jsfile.forEach((f, i) => {
const pull = require(`../commands/${f}`);
if (!pull || !pull.config || !pull.config.name) {
throw new Error (`bogus require file ${f}`)
}
client.commands.set(pull.config.name, pull);
pull.config.aliases.forEach(alias => {
bot.aliases.set(alias, pull.config.name);
});
});
推荐阅读
- c++ - C++ 字符串连接有时会失败
- sql - 为权限设置数据库表的最佳方法
- c++ - 如何在事务中将两个文件写入磁盘
- sparql - 无法从本体中检索实例
- anaconda - 变量资源管理器扩展导致与 dill 包冲突
- javascript - 将对象附加到数组时使用扩展符号的正确方法?
- tensorflow - 用 tf.data 替换基于队列的输入管道
- python - 如何重新缩放图像坐标的信息以处理类似图像的缩放版本
- java - Springboot中的某些字段未在JSON中解析/反序列化
- .htaccess - 代理后面的 Wildfly 14 的 RewriteRule -> 404