loadFiles不是函数discord.js v14错误



我已经将loadFiles作为一个函数,但这个问题仍然存在。

fileLoader.js:的代码

const { glob } = require('glob');
const { promisify } = require("util");
const proGlob = promisify(glob);
async function loadFiles(dirName){
const Files = await proGlob(`${process.cwd().replace(/\/g, "/")}/${dirName}/**/*.js`)
Files.forEach((file) => delete require.cache[require.resolve(file)]);
return Files;
module.exports = { loadFiles }
}

eventHandler.js:的代码

async function loadEvents(client) {
const { loadFiles } = require("../Functions/fileLoader.js");
const ascii = require("ascii-table");
const table = new ascii().setHeading("Events", "Status");
await client.events.clear();
const Files = await loadFiles("Events");
Files.foreach((file) => {
const event = require(file);
const execute = (...args) => event.execute(...args, client);
client.events.set(event.name, execute);
if(event.rest) {
if(event.once) client.rest.once(event.name, execute);
else
client.rest.on(event.name, execute);
} else {
if(event.once) client.once(event.name, execute);
else
client.on(event.name, execute);
}
table.addRow(event.name, "✅")

})  
return console.log(table.toString(), "nLoaded Events")
}

错误如下:

const Files = await loadFiles("Events")
^
TypeError: loadFiles is not a function

如果有人问,我已经制作了一个活动文件夹。

正如Elitezen所说,您不能从函数中导出函数。考虑以下修订:

fileLoader.js

const { glob } = require('glob');
const { promisify } = require("util");
const proGlob = promisify(glob);
module.exports = async function loadFiles(dirName){
const Files = await proGlob(`${process.cwd().replace(/\/g, "/")}/${dirName}/**/*.js`)
Files.forEach((file) => delete require.cache[require.resolve(file)]);
return Files;
}

eventHandler.js

async function loadEvents(client) {
const loadFiles = require("../Functions/fileLoader.js");
const ascii = require("ascii-table");
const table = new ascii().setHeading("Events", "Status");
await client.events.clear();
const Files = await loadFiles("Events");
Files.foreach((file) => {
const event = require(file);
const execute = (...args) => event.execute(...args, client);
client.events.set(event.name, execute);
if(event.rest) {
if(event.once) client.rest.once(event.name, execute);
else
client.rest.on(event.name, execute);
} else {
if(event.once) client.once(event.name, execute);
else
client.on(event.name, execute);
}
table.addRow(event.name, "✅")

})  
return console.log(table.toString(), "nLoaded Events")
}

最新更新