我尝试对最后一个 router.route('/profile') 实现相同的“功能(req,res)”,但它不起作用,并且我不断收到此错误。任何有关我可能做错的事情的帮助将不胜感激!
const express = require("express");
const router = express.Router();
const {
authUser,
registerUser,
logoutUser,
getUserProfile,
updateUserProfile,
} = require("../controllers/userController");
const { protect } = require("../middleware/authMiddleware");
router.post("/", function (req, res) {
registerUser;
});
router.post("/auth", function (req, res) {
authUser;
});
router.post("/logout", function (req, res) {
logoutUser;
});
router
.route("/profile")
.get(protect, getUserProfile)
.put(protect, updateUserProfile);
module.export = router;
您没有将回调函数传递给 registerUser、authUser 和 logoutUser 函数。调用这些函数的正确方法是将 req 和 res 参数作为参数传递。
const express = require("express");
const router = express.Router();
const {
authUser,
registerUser,
logoutUser,
getUserProfile,
updateUserProfile,
} = require("../controllers/userController");
const { protect } = require("../middleware/authMiddleware");
router.post("/", function (req, res) {
registerUser(req, res);
});
router.post("/auth", function (req, res) {
authUser(req, res);
});
router.post("/logout", function (req, res) {
logoutUser(req, res);
});
router
.route("/profile")
.get(protect, getUserProfile)
.put(protect, updateUserProfile);
module.export = router;