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