I am getting following error while trying to add middleware to my application:
throw new TypeError('Router.use() requires callback function');
MyMiddleware.js
module.exports = function(options) {
var err = checkOptions(options);
if(err) {
throw err;
}
var middleware = function(req, res, next) {
// do something here
}
return middleware;
}
This is how I am adding my middleware:
var MyMiddleware = require('./server/middlewares/MyMiddleware');
var middleware = MyMiddleware(config);
router.use('/path', middleware);
app.use('/', router);
I am using express 4.x version.
You define your module as a function, you have to call it.
var MyMiddleware = require('./server/middlewares/MyMiddleware')();