0
我想实现一个小cms只是为了它的乐趣,我想为用户能够从cms创建网站和页面。从数据库数据动态路由
例如,会有一些表单询问用户“站点”名称,在该站点下用户将能够创建深度为n级的站点树,并将其保存在数据库中。
ex:“blah/article”,“blah/blah/blah/article”。
我的问题是我将如何在expressjs中实现这样的路由? 如何根据用户创建的内容和每个站点动态地声明我的路线?
如果例如我有2个网站:site1和site2。
本地主机:3000/site1的/ somepathhere /等等/等等
本地主机:3000 /站点2/someotherpathhere /等等/等等/等等
我想为每个站点的路由是动态的(不知道是什么用户将创建),我希望每个站点路由只适用于该站点,而不是全局。
到目前为止,我玩弄了一些代码,但我不确定是否有一些更好的方法来实现这一点。
app.param('site', function(req, res, next, site) {
req.site = site;
next();
});
app.get('/:site', function(req, res) {
res.send(req.site + "<br><pre>" + JSON.stringify(req.params, null, 4) + "</pre>");
});
app.get('/:site/*', function(req, res) {
res.send(req.site + "<br><pre>" + JSON.stringify(req.params, null, 4) + "</pre>");
});