如何让我的快速路线更具动感

时间:2014-08-24 14:45:08

标签: node.js express

我想让我的快速路线能够通过第一组参数传递任何东西

app.get('/views/app/:name/*', appRoutes.partials);

在我的路线文件中我有

exports.partials = function(req, res) {
    var name = req.params.name;
    var partial = req.params.partial;
    var content = "";
    res.render('views/app/'+name+'/'+partial,content);
};

我知道部分不会是在那里使用的变量但是我怎样才能使通过星的任何传递追加到最后?

我希望这是有道理的。

1 个答案:

答案 0 :(得分:1)

星号(*)占位符将捕获所有剩余的文本并将其放在键“0' 0'对于params对象(如果你有更多*个,那么他们会去#1;' 2' 2' ...)。

那么,这个怎么样:

exports.partials = function(req, res) {
    var name = req.params.name;
    var partial = req.params['0'];
    var content = "";
    res.render('views/app/'+name+'/'+partial,content);
};

如果您希望通配符部分是任意路由,则必须自己解析它。例如:

// url: /views/app/profile/main/dashboard
exports.partials = function(req, res) {
    var path = req.params['0'].split('/');
    console.log(path[0], path[1]); //>> main dashboard
};