Я новичок в node.js и нашел что-то, чего не могу понять. Кто-то, пожалуйста, объясните мне, как эта экспортируемая функция доступна другим пользователям в другой папке без явного требования.
Эта простая функция перемещает файл в локальное хранилище.
module.exports = saveFile = (file, destinationFolderName) => {
return new Promise((resolve, reject) => {
const name = file.name;
//some more code here
file.mv(fileUploadPath, err => {
if (err) {
return reject(err);
} else {
return resolve(fileLocationPath);
}
});
});
};
здесь функция работает полностью без необходимости в файл
const router = require("express").Router(),
Offer = require("../../models/offersSchema");
router.post("/create_new_offer", async (req, res) => {
const newOffer = new Offer();
await saveFile(req.files.offerIcon, "images")
.then(imageUploadPathUrl => {
newOffer.offerIcon = imageUploadPathUrl;
})
.catch(err => {
throw err;
});
newOffer
.save()
.then(newOffer => {
res.status(200)
.json(newOffer)
.end();
})
.catch(err => {
res.status(500)
.json(err)
.end();
});
});
Я бы ожидал "ReferenceError: saveFile не определен", но он работает просто отлично
Как это возможно?