Thursday 27 April 2017

How to export router as an object?

All over the interwebs, the correct way to export a router is:module.exports = router;...how would I export it as an object? I thought:// ./routes/myRoute.js var router = express.Router(); ... module.exports = { router: router }; but this breaks things:/node_modules/express/lib/router/index.js:458 throw new TypeError('Router.use() requires middleware function but got a ' + gettype(fn)); ^ TypeError: Router.use() requires middleware function but got a undefined at Function.use (/home/dylan/tol-node-public/tol2/node_modules/express/lib/router/index.js:458:13) So it's returning an object. Ok, so I jumped into my .app.js, originally having this:var myViews = require('./routes/myRoute'); app.use('/', myViews); Changing it to:var myViews = require('./routes/myRoute'); app.use('/', myViews.router); Apparently this isn't the answer. What's wrong? is it because router: router is named the same?

Submitted April 27, 2017 at 04:33PM by xblade724

No comments:

Post a Comment