express中的“路由器”是什么?

express中的“路由器”是什么?,express,Express,我是新手,经常看到这样的代码: app.once('mount',function onmount(parent){ parent._router.stack.pop(); }); 不知道什么是路由器,为什么它们会弹出?有什么原因吗?当子应用向父应用注册时,会发生挂载事件。parent参数是父应用程序对象 parent.\u router是与父应用程序对象关联的路由器 parent.\u router.stack是用该路由注册的路由数组 parent.\u router.stack.p

我是新手,经常看到这样的代码:

app.once('mount',function onmount(parent){
    parent._router.stack.pop();
});

不知道什么是路由器,为什么它们会弹出?有什么原因吗?

当子应用向父应用注册时,会发生挂载事件。
parent
参数是父应用程序对象

parent.\u router
是与父应用程序对象关联的路由器

parent.\u router.stack
是用该路由注册的路由数组

parent.\u router.stack.pop()
正在从该路由器删除上次注册的路由

这里没有足够的上下文让我们知道为什么要删除最后一条路线。有可能他们正试图删除404错误路由(只是猜测)


仅供参考,这种对私有实例变量的直接操作并没有记录在案。

Wow谢谢,所以当你指的是
sub-app
parent
app时,你说的是一个express实例对另一个实例的使用?类似于
app.use(express())
?@batman-是的,可以将一个express应用程序嵌套在另一个应用程序中。这非常类似于在express应用程序中使用路由器,不同的是您得到的是一个完整的应用程序对象,而不仅仅是一个路由器对象。