Skip to content Skip to sidebar Skip to footer

Nodejs Route.get() Requires Callback Functions But Got A [object String]

I'm starting coding using nodejs with express. So i did this in my file test.js which is into my folder routes : const express = require('express'); const router = new express.Rou

Solution 1:

The problems seems to be how you are mounting the router. Looking the the router middleware API it seems you should be doing it like this.

test.js

const express = require('express');
const router = new express.Router();

router.get('/test', (req, res, next) => {
  res.send("I'm a test");
  next();
});

module.exports = router;

server.js

const express = require('express');
const app = express();
const test = require('./test'); 

app.use('/', test);

app.listen(3000);

Solution 2:

Add "I'm a test" inside res.send(), I mean add " around that String.


Solution 3:

in order to access /test use router.get('/' and app.use('/test' because express will concatenate / and /test.

in your case you have to access /test/test so do this and enter /test in your borwser:

const express = require('express');

const router = new express.Router();

router.get('/', (req, res) => { res.send("I'm a test"); });

module.exports = router;

Then, in your server.js :

const test = require('./server/routes/test'); app.use('/test', test);

Solution 4:

Simple fix that should resolve your issue.

Replace

const router = new express.Router();

With

const router = express.Router();

Post a Comment for "Nodejs Route.get() Requires Callback Functions But Got A [object String]"