Estoy tratando de reemplazar una cadena, pero cuando intento hacerlo en un archivo, no funciona. O solo funcionará el último archivo.
Código principal (dentro de un método de clase):
const funcs = fs.readdirSync(path.join(__dirname, "../funcs")).filter(file => file.endsWith('.js')); this.functions = this.code.split("$"); const functions = this.functions for (const func of funcs) { for (let x = functions.length - 1; x > 0; x--) { let i = 0; const res = await require(`../funcs/${func}`)(client, this.code.toString(), this._author); console.log(x); console.log(res); console.log(functions); return res; i++; } }ping.js:
const ping = (client, code, author) => { const result = code.split("$[ping]").join(client.ws.ping) return result; } module.exports = ping;mensajeAuthorTag.js:
const Util = require('../utils/util'); const messageAuthorTag = (client, code, author) => { if (code === null) return; const res = code.split("$[message.author.tag]").join(`${author.tag}`); return res; } module.exports = messageAuthorTag; Utilizándolo: "ping: $[ping] author tag: $[message.author.tag]"
Salida: ping: $[ping] author tag: Example#0001
Su problema es que return res en medio de un bucle for. Esto significa que no hará nada más en la función y omitirá el resto de los bucles (¡como ejecutar las otras funciones!)
Como nota adicional, también podría eliminar let i = 0 e i++ ya que no parece que se use para nada.