Node.js 如何获取膝关节炎服务器URL路由列表
我正在使用koajs开发一个模拟服务器,我想发布一个列出已开发API的服务 我使用koa路由器进行移动服务 我希望有这样的想法:Node.js 如何获取膝关节炎服务器URL路由列表,node.js,koa,koa-router,Node.js,Koa,Koa Router,我正在使用koajs开发一个模拟服务器,我想发布一个列出已开发API的服务 我使用koa路由器进行移动服务 我希望有这样的想法: var business_router = require('./controllers/router'); app.use(business_router.routes()); app.use(business_router.allowedMethods()); console.log(app.listRoutes()); 虽然我猜它不是官方的koa路由器
var business_router = require('./controllers/router');
app.use(business_router.routes());
app.use(business_router.allowedMethods());
console.log(app.listRoutes());
虽然我猜它不是官方的
koa路由器
API的一部分,但您可以执行以下操作:
var app = require('koa')();
var router = require('koa-router')();
router.get('/bar', function*() { this.body = 'Hi'; }});
router.get('/bar/foo', function*() { this.body = 'Hi'; }});
router.get('/foo', function*() { this.body = 'Hi'; }});
router.get('/bar/baz', function*() { this.body = 'Hi'; }});
app
.use(router.routes())
.use(router.allowedMethods());
console.log(router.stack.map(i => i.path));
// ['/bar', '/bar/foo', '/foo', '/bar/baz']
在您的情况下,假设业务_路由器
是koa路由器
的一个实例:
console.log(business_router.stack.map(i => i.path));
你的问题不太清楚。对于
应用程序
来说,它们都只是中间件功能,无论是路由器中间件(使用koa路由器)还是其他中间件(错误处理程序),只有你知道。不过,列出应用程序使用的所有中间件可能还没有文档记录。在express中,这是可以完成的,但express有自己的路由器。所以,这不是一个答案,但我希望它在某种程度上有所帮助。我会检查app
以获取所有中间件,并查看是否有任何中间件具有通过koa routerI生成的独特功能我正在使用此解决方案,效果很好,但我在列表中获得了一些“(.*)”值,这些值是什么意思?