在Express.js中使用路由作为别的路由的别名

我正在使用Express.js编写一个基本的博客。 说我有这样的路线结构:

/blog/page/:page 

我还想要一个/blog路线,本质上是/blog/page/1别名。 如何在Express中轻松处理?

所有路线都是这样定义的:

 app.get('/path', function(req, res) { //logic }); 

       

网上收集的解决方案 "在Express.js中使用路由作为别的路由的别名"

使用res.redirect告诉浏览器redirect到/blog/page/1

 app.get('/blog', function(req, res) { res.redirect('/blog/page/1'); }); app.get('/blog/page/:page', function(req, res) { //logic }); 

如果page参数未被传递,则使用共享路由处理程序并将其默认设置为页面1:

 function blogPageHandler(req, res) { var page = req.params.page || 1; //logic } // Define separate routes app.get('/blog/page/:page', blogPageHandler); app.get('/', blogPage); // or combined, by passing an array app.get(['/', '/blog/page/:page'], blogPageHandler); // or using optional regex matching (this is not recommended) app.get('/:_(blog/)?:_(page/)?:page([0-9]+)?', blogPageHandler);