如何从NodeJS中的另一个文件导入函数?

问题描述 投票:0回答:1

我是NodeJS的新手,对此我有些挣扎。我正在使用Express并验证数据,我正在使用Celebrate

我有一个route.js文件,在其中我发出了一个[[POST请求,使用另一个文件中的函数来执行此操作(这是create函数,来自MyController 。可以正常工作!但是当我尝试对validator做同样的事情时,它不起作用。

所以让我们看一下代码。

route.js文件:

const express = require("express"); const MyController = require("./controllers/MyController"); const MyValidator= require("./validators/MyValidator"); const routes = express.Router(); routes.post("/path", MuValidator.validateCreate, MyController.create);
<< [MyValidator
文件:

module.exports = { validateCreate() { celebrate({ [Segments.HEADERS]: Joi.object({ authorization: Joi.string().required(), }).unknown(), [Segments.BODY]: Joi.object().keys({ userId: Joi.string().required(), title: Joi.string().required(), description: Joi.string().required(), value: Joi.number().required(), dueDate: Joi.string().required(), }), }); }, }

重要
:如果我直接在自己的路线上编写

验证码

,则只有这样工作:routes.post( "/path", celebrate({ [Segments.HEADERS]: Joi.object({ authorization: Joi.string().required(), }).unknown(), [Segments.BODY]: Joi.object().keys({ userId: Joi.string().required(), title: Joi.string().required(), description: Joi.string().required(), value: Joi.number().required(), dueDate: Joi.string().required(), }), }), MyController.create );
javascript node.js express joi
1个回答
0
投票
尝试这样的事情:

module.exports = { validateCreate: function() {}, otherMethod: function() {}, };

© www.soinside.com 2019 - 2024. All rights reserved.