我有一个使用Node.js和Express构建的Web应用程序。现在,我想用适当的方法列出所有已注册的路由。
例如,如果我执行过
app.get('/', function (...) { ... });
app.get('/foo/:id', function (...) { ... });
app.post('/foo/:id', function (...) { ... });
我想检索一个对象(或等效的东西),例如:
{
get: [ '/', '/foo/:id' ],
post: [ '/foo/:id' ]
}
这可能吗?如果可以,怎么办?
更新:同时,我创建了一个名为get-routes的npm软件包,该软件包从给定的应用程序中提取路由,从而解决了此问题。当前,仅支持Express 4.x,但我想现在可以了。仅供参考。
Just use this npm package, it will give the web-output as well as terminal output in nice formatted table view.
https://www.npmjs.com/package/express-routes-catalogue