There have been some middleware changes on the new version of express and I have made some changes in my code around some of the other posts on this issue but I can\'t get a
I was getting the same error message but had a different issue. Posting for others that are stuck on same.
I ported the get
, post
, put
, delete
functions to new router file while refactoring, and forgot to edit the paths. Example:
Incorrect:
//server.js
app.use('/blog-posts', blogPostsRouter);
//routers/blogPostsRouter.js
router.get('/blog-posts', (req, res) => {
res.json(BlogPosts.get());
});
Correct:
//server.js
app.use('/blog-posts', blogPostsRouter);
//routers/blogPostsRouter.js
router.get('/', (req, res) => {
res.json(BlogPosts.get());
});
Took a while to spot, as the error had me checking syntax where I might have been wrapping an argument in an object or where I missed the module.exports = router;
In any one of your js pages you are missing
module.exports = router;
Check and verify all your JS pages
You are missing router exports module and that is the reason why this error is present.
use module.exports = router;
and that would work