Хорошо, так ... Я загружаю несколько файлов из папки и хочу, чтобы функции из загруженных файлов были загружены в файл, который загружает файлы.Как будто они были в файле с самого начала.
Мой текущий код до сих пор работает нормально, но я не могу использовать «this» в загруженной функции, потому что это не «this» из файлакоторый загрузил функцию.
Загрузка всех файлов и включение их функций.
return fs.readdirAsync(path.join(__dirname, 'Handlers')).map(file => {
if (file.substr(file.length - 3) === '.js') {
let handlerFile = require(path.join(__dirname, 'Handlers', file))
for (const handlerName of Object.keys(handlerFile)) {
this[handlerName] = handlerFile[handlerName]
}
}
})
Вот как выглядит загруженный файл:
module.exports = {
test: (arguments) => {
console.log(this)
}
}
Итак, если явызовите this.test () теперь в файле, который загрузил функцию, console.log (this) выполняется.Пока все работает, но «this» пусто.
Есть ли способ, которым загруженная функция получает «this» из файла, который загружает функции?(Не передавая его функции)
Надеюсь, вы понимаете, чего я хочу.Спасибо за любую помощь.