Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Error: Route.get() requires a callback function but got a [object Undefined] while using imported function

I am checking if a user is logged in a route called forum. I am importing it like this.
The file is routes/forum.js

const isloggedinimport = require('../index')

I have the function on index.js

const isloggedin = (req,res,next) => {
  if(req.user) {
    next()
  }
  else {
    res.render('loginerror',)
  }
}

I am exporting with

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

module.exports = isloggedin 

When I try to run this


router.get('/', isloggedinimport.isloggedin, (req, res) => { 
    res.render('monitors/monitorhome')
});


module.exports = router

I get the error that Route.get() requires a callback function but got a [object Undefined]

The error is on this line

router.get('/', isloggedinimport.isloggedin, (req, res) => { 

How do I fix this?

>Solution :

When exporting the function, try using the following code:

module.exports.isloggedin = isloggedin

This will set the property isloggedin to the function so that when you call isloggedinimport.isloggedin, it will access the function properly. Alternatively, you could use the following code to export your function:

module.exports = isloggedin

and then use this code to import the function:

const isloggedin = require('../index')

...

router.get('/', isloggedin, (req, res) => { 
    res.render('monitors/monitorhome')
});
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading