Две вещи.
Во-первых, вы фактически никогда не вызываете свою анонимную асинхронную функцию.
Во-вторых, ваш экспорт находится в области действия этой функции, поэтому он никогда не устанавливается.Поэтому ваше требование возвращает пустое содержимое '{}' файла module.export.
Попробуйте что-то вроде этого.
const mongoose = require('mongoose');
module.exports = async ()=> {
await mongoose.connection.on('connected', ()=>{
const gridfs = require('mongoose-gridfs')({
collection: 'sharedfiles',
model: 'SharedFiles',
mongooseconnection: mongoose.connection
});
global.sharedfile = gridfs;
return gridfs;
});
}
Затем ваш экспорт предоставляет асинхронную функцию (обещание) для требуемого кода.Вы вызываете его с помощью ()
и используете .next
для обработки возвращенного результата.
require('path to above file') ()
.next(
function (gridfs) {
console.log (gridfs)
} )
.catch (...)
Или вы можете потребовать его, а затем вызвать его позже.
const getGridFs = require('path to above file')
...
getGridFs ( )
.next (gridfs => {console.log(gridfs)})
.catch (error => {console.error(error)})
Наберитесь терпения:Вы поймете это.