这是我的路由设置: app.get('*', getJSON);app.get('/', [list, render]);app.get('/questions', [list, render]);app.get('/ask', [ask, render]);app.get('/:questionId(\\d+)', [question, render]);app.get('/:questionId(\\d+)/:slug', [quest
app.get('*', getJSON); app.get('/', [list, render]); app.get('/questions', [list, render]); app.get('/ask', [ask, render]); app.get('/:questionId(\\d+)', [question, render]); app.get('/:questionId(\\d+)/:slug', [question, render]); app.get('/sitemap.xml', clone); app.get('/feed/qa.rss', clone); app.post('/rest/1/:object/:method', [post, render]); app.all('*', function(req, res){ res.send(404).status('Page not found'); });
如您所见,几乎所有路径都以运行渲染函数结束.我想应用与我在getJSON开头使用的相同模式,但最后.这样做的简单方法是添加
app.all('*', render);
最后,但我不能,因为我希望跳过sitemap.xml和qa.rss,以及此处未指定的所有路径,如/ foo.
怎么可以这样做?
使用https://www.npmjs.com/package/finalhandler
作为最后的路线.我不使用快递,而是快递路由器
https://www.npmjs.com/package/router
那里的例子显示了它使用最终处理程序