After writing code in express framework I am getting error for route level
Full error
D:servernode_modulesexpresslibrouterroute.js:216
throw new Error(msg);
^
Error: Route.post() requires a callback function but got a [object Undefined]
at Route.<computed> [as post] (D:servernode_modulesexpresslibrouterroute.js:216:15)
at proto.<computed> [as post] (D:servernode_modulesexpresslibrouterindex.js:521:19)
at Object.<anonymous> (D:serverroutesauth.js:8:8)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at Module.require (node:internal/modules/cjs/loader:1233:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (D:serverroutesindex.js:5:20)
Node.js v20.14.0
[nodemon] app crashed - waiting for file changes before starting...
auth.js:8:8 code
const router = require('express').Router();
const { regController, logController } = require('../controller/auth');
router.post('/reg', regController);
router.post('/log', logController);
module.exports = router;
index.js:5:20
const router = require('express').Router();
const authRoutes = require('./auth');
const usersRoutes = require('./users')
const authenticate = require('../middleware/authenticate');
router.use('/auth', authRoutes);
router.use('/users', authenticate, usersRoutes);
module.exports = router;
controller/auth.js
const { regService, logService } = require('../service/auth');
const registerController = async (req, res, next) => {
//console.log(req.body);
const { name, email} = req.body;
if (!name || !email {
return res.status(400).json({ message: "Invalid Data" })
}
try {
const user = await regService({ name, email })
return res.status(200).json({ message: "User created successfully", user })
} catch (error) {
next(error);
}
};
const loginController = async (req, res, next) => {
const { email, password } = req.body
//console.log(req.body);
try {
const token = await logService({ email, password });
return res.status(200).json({ message: "Login Successfull", token });
} catch (e) {
next(e);
}
};
module.export = { regController, logController };
I wrote auth.js & index.js file so many times, and check the controller code, also upgrade the node version, unfortunately error is the same for all time