express router res req next code example

Example 1: express router file

var express = require('express');
var router = express.Router();

// middleware that is specific to this router
router.use(function timeLog (req, res, next) {
  console.log('Time: ', Date.now());
  next();
});
// define the home page route
router.get('/', function (req, res) {
  res.send('Birds home page');
});
// define the about route
router.get('/about', function (req, res) {
  res.send('About birds');
});

module.exports = router;

Example 2: what is app.use() used for

//app.get will see only exact match ex.> "/book" here app.get will not allow /book/1, etc 
//but app.use is different see below

//what is difference between app.use and app.all
//app.use takes only 1 callback while app.all takes multiple callbacks
//app.use will only see whether url starts with specified path But, app.all() will match the complete path

app.use( "/book" , middleware);
// will match /book
// will match /book/author
// will match /book/subject

app.all( "/book" , handler);
// will match /book
// won't match /book/author   
// won't match /book/subject    

app.all( "/book/*" , handler);
// won't match /book        
// will match /book/author
// will match /book/subject