express global middleware not being called
You should put your middleware before you use app.router
.
...app.use (function (req, res, next) { console.log ("inside middleware"); next();});...app.use(app.router);
Updated answer for Express 4 users from the Express 4 docs. See example from docs below. Note that app.router
is deprecated and no longer used. I also added a dummy route to make the ordering clear.
You define error-handling middleware last, after other
app.use()
and routes calls
Example:
var bodyParser = require('body-parser');app.use(bodyParser());app.get('/', function(req, res) { res.send('hello world');})app.use(function(err, req, res, next) { // logic});