如何根据all.js文件获取所有可用路由的列表。?
答案 0 :(得分:2)
您可以在app.routes
对象内挖掘,该对象是Router
的一个实例。最简单的方法可能是在交互式监听器中加载您的应用程序,然后查看app.routes
中包含的各种对象。
如果您想要更有条理,可以阅读路由器和路由对象的来源,例如: https://github.com/visionmedia/express/blob/master/lib/router/route.js
答案 1 :(得分:2)
实际上有更好的方法,TJ Holowaychuck(Express的作者)用gist做了一个:
app.routes.all().forEach(function(route){
console.log(' \033[90m%s \033[36m%s\033[0m', route.method.toUpperCase(), route.path);
});
答案 2 :(得分:1)
for(var type in app.routes.routes) {
console.log(type+":");
for(var rts in app.routes.routes[type]) {
console.log(app.routes.routes[type][rts]);
}
}
答案 3 :(得分:0)
routes对象将动词作为属性。您可以迭代它们并构建所有路由,方法等的列表。
我创建了一个创建自我描述rest-api的Gist。我确信它可以改进,但如果你想要,你可以看到我如何迭代那里的路线对象。
https://gist.github.com/morkeleb/5705647
欢迎反馈。