node.js - 关于无法获取节点中所有已注册的路由
问题描述
我在我的应用程序中使用了快速路由器来进行路由
现在我想获取所有已注册路线的列表但无法获取
我使用的路线如下
global.router = express.Router();
app.use('/api', require('./routes'));
我已经在 routes.js 文件中声明了所有路由,并且运行良好
但是当我尝试访问所有路由时,它会在路由中返回 undefined
let allRoutes = app._router.stack.map(r => r.route.path)
解决方案
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
推荐阅读
- docker - 多阶段构建中缺少 docker arg
- excel - shell命令的参数vbNormalNoFocus不起作用
- arrays - 如何在不使用循环的情况下检查 shell 脚本中的数组中是否存在元素
- ios - 如何通过 UIAppearance 控制 UITableViewCell 的标签外观?
- django - Django,如何在另一个视图中重用变量结果?
- python - 按Python中字符串中的数字对列表开头包含数字的字符串列表进行排序
- nginx - Nginx 将流量发送到错误的端口
- powershell - 来自数据源的 String 类型的值无法转换为 Real 类型
- reactjs - 反应:重置密码发送带有重置密码链接的电子邮件以重置密码
- android - 使用 ADB (Android 10) 从计算机访问外部存储的直接方式