Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何获取膝关节炎服务器URL路由列表_Node.js_Koa_Koa Router - Fatal编程技术网

Node.js 如何获取膝关节炎服务器URL路由列表

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路由器

我正在使用koajs开发一个模拟服务器,我想发布一个列出已开发API的服务

我使用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生成的独特功能我正在使用此解决方案,效果很好,但我在列表中获得了一些“(.*)”值,这些值是什么意思?