首页 > 解决方案 > 关于无法获取节点中所有已注册的路由

问题描述

我在我的应用程序中使用了快速路由器来进行路由

现在我想获取所有已注册路线的列表但无法获取

我使用的路线如下

global.router = express.Router();
app.use('/api', require('./routes'));

我已经在 routes.js 文件中声明了所有路由,并且运行良好

但是当我尝试访问所有路由时,它会在路由中返回 undefined

let allRoutes = app._router.stack.map(r => r.route.path)

标签: node.jsexpressexpress-router

解决方案


app._router.stack.forEach(function(r){
  if (r.route && r.route.path){
    console.log(r.route, r.route.path)
  }
})

如果您获得所有路线的列表,您可以通过安慰来确定app._router.stack吗?如果是,那么您可以使用 forEach 映射它。

确保您拥有 express 版本 4.x


推荐阅读