如何从 node.js 中的路由器路径和参数生成 URL

How to produce URL from router path and params in node.js

假设我有一个 "router path"(不确定该术语到底是什么)传递给 express/restify 以注册路由(例如,'/category/:id')和一个参数对象{ id: 1234 }。我如何将它们组合成 URL '/category/1234',有没有可以做到的 npm 包?

给定路由的路径(字符串)和您的参数对象,您可以使用此函数生成路径:

function replace_tokens(string,data){
    var keys = Object.keys(data);
    for(var i in keys){
        string = string.replace(":" + keys[i],data[keys[i]]);
    }
    return string;
}

我还发现 restify does have a utility(超媒体部分)与 server.router.render(routeName, params, queryString) 的工作类似。也许它在某些情况下会有用。