【问题标题】:Dynamic routing from database data来自数据库数据的动态路由
【发布时间】:2015-05-30 14:01:47
【问题描述】:

我想实现一个小 cms 只是为了好玩,我希望用户能够从 cms 创建站点和页面。

例如,会有一些表单要求用户输入“站点”名称,并且在该站点下,用户将能够创建一个深度为 n 级的站点树,该树将保存在数据库中。

例如:“blah/article”、“blah/blah/blah/article”。

我的问题是如何在 expressjs 中实现这样的路由? 如何根据用户创建的内容和每个站点动态声明我的路由?

例如,如果我有 2 个站点:site1 和 site2。

localhost:3000/site1/somepathhere/blah/blah

localhost:3000/site2/someotherpathhere/blah/blah/blah

我希望每个站点的路由都是动态的(不知道用户将创建什么),并且我希望每个站点路由仅应用于该站点,而不是全局应用。

到目前为止,我正在玩一些代码,但我不确定是否有更好的方法来实现这一点。

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>");

});

【问题讨论】:

    标签: node.js express url-routing


    【解决方案1】:

    express routing,本质上是在玩(解析和分析)字符串。您可以实现一个 url 解析器,它将获取您从数据库中读取的路由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      相关资源
      最近更新 更多