解析快递app.js路线

时间:2011-08-01 17:29:09

标签: javascript node.js express

如何根据all.js文件获取所有可用路由的列表。?

4 个答案:

答案 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

欢迎反馈。