Node.js expressjs中的多级路由

Node.js expressjs中的多级路由,node.js,express,Node.js,Express,我正在Express中开发简单的CMS应用程序。 管理员可以像这样配置他的路由: 域/f1/f2/f3/f4/page1(将呈现page1视图) 域/n1/n2/page2(将呈现page2视图) 基本上,据我所知,我不能使用静态控制器 我是否应该使用router.get*捕获所有路由(然后转到db以获取我要渲染的视图)? 这种动态路由的正确和最佳实践方法是什么 提前感谢您可以使用星号匹配以page1结尾的任何路线,然后呈现相应的视图: // match routes that ends wit

我正在Express中开发简单的CMS应用程序。 管理员可以像这样配置他的路由:

域/f1/f2/f3/f4/page1(将呈现page1视图)

域/n1/n2/page2(将呈现page2视图)

基本上,据我所知,我不能使用静态控制器

我是否应该使用router.get*捕获所有路由(然后转到db以获取我要渲染的视图)? 这种动态路由的正确和最佳实践方法是什么


提前感谢

您可以使用星号匹配以
page1
结尾的任何路线,然后呈现相应的视图:

// match routes that ends with 'page1'
app.get('/*/page1', function (req, res) {
    res.render('page1');
});
或者,您可以将route handler设置为变量,然后使用它处理多个路由:

// create page1 route handler 
var hadnlePage1 = function (req, res) {
    res.render('page1');
}

app.get('/definePage1Route/:route', function (req, res) {

    // GET /definePage1Route/f1%2Ff2%2Ff3%2Ff4%2Fpage1
    // req.param.route => /f1/f2/f3/f4/page1
    app.get(req.params.route, handlePage1);

    res.end('done');

});