导出的模块可以正常工作,而无需放入其他文件

时间:2019-04-12 20:41:33

标签: javascript node.js express node-modules commonjs

我是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”,但工作正常 这怎么可能?

0 个答案:

没有答案