Difference Between app.use() and router.use() in Express

router.get is only for defining subpaths. Consider this example:

var router = express.Router();
app.use('/first', router);  // Mount the router as middleware at path /first
router.get('/sud', smaller);
router.get('/user', bigger);
  • If you open /first/sud, then the smaller function will get called.
  • If you open /first/user, then the bigger function will get called.
    In short, app.use('/first', router) mounts the middleware at path /first, then router.get sets the subpath accordingly(相应的).

But if we instead use the following:

app.use('/first', fun);
app.get('/sud', bigger);
app.get('/user', smaller);
  • If you open /first in your browser, fun will get called,
  • For /sud, bigger will get called
  • For /user, smaller will get called
    But remember for /first/sud, no function will get called.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,451评论 0 10
  • 在被铺天盖地的推送刷屏之后,Fake姐也忍住不看了马伊琍版的《我的前半生》。一上来看到罗子君的各种表现,姐尴尬癌都...
    Fake姐阅读 480评论 0 1
  • 我故意在钱包找硬币的时候装作不小心把处心积虑的避孕套掉到她眼前,她尴尬笑了下,呵呵。 我盯着她傲人的上围,下体缓缓...
    火鱼阅读 641评论 0 1
  • 这些年,大千世界未探知一二;这些年生活未尝尽人生百味;这些年,兜兜转转轮回变迁!
    一湾浅眸阅读 54评论 0 0
  • 我会每天坚持写一篇读后感悟的。 今天的感受更清晰了,与我之前学习中的想法有些一致。第一次认真记单词是为了考六级,那...
    老妹儿哈阅读 717评论 0 0