2015-10-20 125 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