2015-10-20 127 views
2

我正在寻找Hapijs的反向路由功能。举例来说,如果我有一个名为route_name路线/route/{param1}/{param2},我希望有一个功能:如何做hapijs反向路由?

reverseRoute('route_name', {param1: 'value1', param2: 'value2'}); 

返回/route/value1/value2

我一直在谷歌上搜索了一段时间,但无法找到一个解决方案。

有什么建议吗?

回答

2

我组建了一个名为hapi-to插件,可以做到这一点。它管理参数,查询字符串,通配符和多参数。

你的榜样,它的工作,如:

​​

看看在tests对于如何可以使用更多的例子。

+0

谢谢!这看起来完全像我所需要的。但是如果我每次都必须发送参数来查看,那很烦人。你知道我怎样才能访问视图中的请求对象? – Teddy

+0

是的,呃。不幸的是,这并不是什么好事。我想过将它与视图助手整合起来,但还没有到任何地方。 –

+0

您好,我认为现在我只需在路由处理程序中创建URL并将其传递给视图。尽管它不够高雅,但仍然可行。非常感谢! – Teddy

0

我想你要找的是hapi-named-routes插件。

这将允许您创建的路线,如:

{ 
    method: 'GET', 
    path: '/about', 
    config: { 
    handler: function (request, reply) { 
     reply.view('about'); 
    }, 
    id: 'about' 
    } 

} 

这样你就可以参考此路线的意见吧:

<a href="{{path.about}}">About</a> 
+0

你好,谢谢你的回答。我看过hapi命名的路线,但它只是我想要的一半。它不支持从参数生成URL。 – Teddy