Express中app.use()和router.use()之间的区别
我刚刚阅读Express文档,发现了这两个术语,app.use();
并且router.use();
我知道app.use();
在节点中用于在路径上
,并且我们经常在大多数节点应用中使用它。但是router.use();
两者都一样吗?如果没有,有什么区别?
我在这里了解了路由器。我还在SO上找到类似的问题,“
express.Router”和使用“app.get”进行路由之间有什么区别?和app.all(’*’)和app.use(’/’)之间的区别,但它们并没有真正回答我的问题。谢谢。
回答:
router.get
仅用于定义子路径。考虑以下示例:
var router = express.Router();app.use('/first', router); // Mount the router as middleware at path /first
router.get('/sud', smaller);
router.get('/user', bigger);
- 如果打开 ,
smaller
则会调用该函数。 - 如果打开 ,则将
bigger
调用该函数。
简而言之,app.use('/first', router)
将中间件安装在路径
,然后相应地router.get
设置子路径。
但是,如果我们改为使用以下内容:
app.use('/first', fun);app.get('/sud', bigger);
app.get('/user', smaller);
- 如果您在浏览器中打开 ,
fun
将会被调用, - 对于 ,
bigger
将被调用 - 对于 ,
smaller
将被调用
但是请记住 ,不会调用任何函数。
此链接也可能有帮助:http :
//expressjs.com/api.html#router
以上是 Express中app.use()和router.use()之间的区别 的全部内容, 来源链接: utcz.com/qa/428203.html