我只是在阅读有关 express 的文档并发现这两个术语, app.use();
和 router.use();
我知道 app.use();
在 node 中用于在路径上 挂载中间件,我们经常在大多数 node 应用程序中使用它。但什么是 router.use();
它们都一样吗?如果不是,有什么区别?
我 在这里 阅读了有关路由器的信息。我还在 SO 上发现了类似的问题 “express.Router”和使用“app.get”的路由有什么区别? 和 app.all(’*’) 和 app.use(‘/’) 之间的区别,但它们并没有真正回答我的问题。谢谢。
原文由 Naeem Shaikh 发布,翻译遵循 CC BY-SA 4.0 许可协议
router.get
仅用于定义子路径。考虑这个例子:smaller
函数。bigger
函数。简而言之,
app.use('/first', router)
将中间件安装在路径 /first ,然后router.get
相应地设置子路径。但是,如果我们改为使用以下内容:
fun
将被调用,bigger
将被调用smaller
将被调用但请记住,对于 /first/sud ,不会调用任何函数。
此链接也可能有帮助: http ://expressjs.com/api.html#router