
app.use('/', index);
index.app = app
router.get('/', function(req, res, next) {
var urls = []
parseHandle("", urls, router.app._router)
res.render('index', {
title: 'Express',
urls: urls
});
});
function parseHandle(prefix, urls, handle) {
if (!handle) return
handle.stack.forEach((layer) => {
if (layer.name == "router") {
var llPrefix = prefix
var matchs = layer.regexp.toString().match(/\\(\/[^\/\?]*)\\\//)
if (matchs) {
llPrefix += matchs[1]
}
parseHandle(llPrefix, urls, layer.handle)
}
if (layer.name == "bound dispatch") {
urls.push(prefix + layer.route.path)
}
})
}
extends layout
block content
h1= title
p Welceme to
h2 URL 列表
each item in urls
li
a(href='#{item}')