[英]Node: Route.get() requires a callback function but got a [object Undefined]
Im trying to create a simple CRUD app in node js and i get Route.get() requires a callback function but got a [object Undefined] on the router.get("/:id", userController.getUser);
我试图在节点 js 中创建一个简单的 CRUD 应用程序,我得到Route.get() 需要一个回调函数但是在
router.get("/:id", userController.getUser);
line线
Routes.js路由.js
const express = require('express')
const userController= require('../controllers/userController.js')
const router = express.Router()
/* READ */
router.get("/:id", userController.getUser);
module.exports = router
Controller.js控制器.js
const getUser = async (req, res) => {
try {
const { id } = req.params;
const user = await User.findById(id);
res.status(200).json(user);
} catch (err) {
res.status(404).json({ message: err.message });
}
}
const Function..
const AnotherFunction..
module.exports = {
getUser,
Function,
AnotherFunction,
}
console.log(userController.getUser.toString()) prints: console.log(userController.getUser.toString()) 打印:
async (req, res) => {
try {
const { id } = req.params;
const user = await User.findById(id);
res.status(200).json(user);
} catch (err) {
res.status(404).json({ message: err.message });
}
}
I don't have correct access rights to push into your repo so explaining the issue here.我没有正确的访问权限来推送你的回购协议,所以在这里解释这个问题。
In your auth.js
you have exported verifyToken
function as default export.在您的
auth.js
,您已将verifyToken
函数导出为默认导出。
module.exports = verifyToken
. module.exports = verifyToken
。
But you are destructuring when importing in postsController.js
但是在
postsController.js
中导入时你正在解构
const {verifyToken} = require ('../middleware/auth.js')
Importing like this will get the correct function =>像这样导入将获得正确的功能=>
const verifyToken = require("../middleware/auth.js");
Change your postsController file as below.如下更改您的 postsController 文件。 It should work.
它应该工作。
const express = require("express");
const verifyToken = require("../middleware/auth.js");
module.exports = verifyToken;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.