Экспортированный модуль работает нормально, без необходимости в другом файле - PullRequest
0 голосов
/ 12 апреля 2019

Я новичок в 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 не определен", но он работает просто отлично Как это возможно?

...