首页 > 解决方案 > 在nodejs中导出的​​自定义模块中使用函数的问题

问题描述

我是 nodejs 的新手,我正在尝试导出我的自定义模块,但它说函数未定义或不是函数。

我创建了一个模块,其中包含一个使用 Joi 库验证请求正文的函数。以下是我所做的

验证器.js

const Joi = require('joi');

var validateCustomer = function(customer) {
    const schema = {
        name: Joi.string().min(3).required()
    }

    return Joi.validate(customer, schema)
}

module.exports.validator = validateCustomer;

客户.js

const validator = require('../myModules/validator');

router.post('/', async (req, res) => {
    const {error} = validator(req.body);
    if(error) return res.error(404).send(error.details[0].message);
    ...some code 
});

请帮忙

标签: node.jsexpress

解决方案


变出

module.exports.validator = validateCustomer;

为了

module.exports = validateCustomer

validator.js.


推荐阅读