【发布时间】:2022-01-02 08:46:43
【问题描述】:
在我的后端应用程序中,我使用express-promise-router 来管理我的路线。
例如:
const express = require( 'express' );
const router = require( 'express-promise-router' )();
let app = express();
app.use( router.get( "/hc" , ( req,res,next )=> res.status( 200 ).send( "healthy!" ) ) );
我想列出后端应用程序中的所有路由。
因为我使用的是express-promise-router,所以我不能使用app._router.stack
我面临的问题是我使用了“子路由”:
app.use('/api/v1', require('./router'));
在router.js:
router.use('/api/v1/user', require('./user_r'));
在user_r.js:
router.get(...)
我尝试过的所有依赖项,例如 express-list-routes 和 express-list-endpoints,由于层次结构而没有用处。
我确实尝试了这里的建议:
有什么建议吗?
【问题讨论】:
-
你需要依赖 lib 内部,我不确定是否可以这样做。可能在某处的路由器对象上可用,例如路由器堆栈。目的是什么?如果您只需要了解它们,只需找到 with 正则表达式。如果您在运行时需要一个列表,请编写一个包裹 app.use(router... 并保留路由数组的助手。
标签: javascript node.js express express-router