将路径路径参数转换为Express 4中的数组

时间:2014-07-20 12:35:44

标签: node.js express routes

在我的节点应用程序中,我想将URL中的路径和不确定数量路由到一个模板,然后向该模板显示所有路径的数组。

例如,我想允许路由'/'/foo//foo/bar//foo/bar/[...etc] all指向同一个视图模板,路径拆分为数组,分别为:[]['foo']['foo','bar']

这段代码似乎回答了问题的第一部分:

app.route('/*')
  .get(function (req, res) {
    res.render('index',{
        paths: req.params[0]
    });
  });

但是当我遍历模板中的paths变量时,每个字母都是单独输出而不是路径。

这可能吗?如果是这样,一些帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

那是因为你在循环一个字符串,所以它从该字符串中拉出每个字符。只需将req.params[0]更改为req.params[0].split('/')

http://localhost:4000/my/full/path会在您的视图中将[ 'my', 'full', 'path' ]作为paths变量。