Quería leer todos los archivos que están en una carpeta, pero recibí un error. Mi código:
const Commands = [] readdirSync("../commands").forEach((folder) => { readdirSync(`../commands/${folder}`).forEach((file) => { const command = require(`../commands/${folder}/${file}`); if (!command.name) return; Commands.push(command); }) })El error:
<rejected> Error: ENOENT: no such file or directory, scandir '../commands'Estoy usando discord.js v13 y node.js v16 Notas : main.js no está en la carpeta de comandos.
En el nodo, las rutas relativas para las funciones fs son desde la ruta del archivo de punto de entrada (su index.js), por lo que en este caso, en lugar de poner ../commands (que sería correcto si iniciara su comando con commands.js , pero no lo ha hecho), necesita poner ./commands (supongo que la carpeta de comandos está en la misma carpeta que su index.js)
Encontré la solución yo mismo. Solo necesitaba reemplazar ese código con este:
const Commands = [] readdirSync("./commands").forEach((file) => { const command = require(`../commands/${file}`); if (!command.name) return; Commands.push(command); })