如何做hapijs反向路由?

时间:2015-10-20 12:35:32

标签: javascript node.js url-routing hapijs

我正在为Hapijs搜索反向路由功能。例如,如果我有名为/route/{param1}/{param2}的路由route_name,我想要一个函数:

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

返回/route/value1/value2

我已经谷歌搜索了一段时间但找不到解决方案。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我整理了一个名为hapi-to的插件,可以执行此操作。它也管理参数,查询字符串,通配符和多参数。

通过您的示例,它可以像:

request.to('route_name', { params: {param1: 'value1', param2: 'value2'} }

请查看tests以获取有关如何使用它的更多示例。

答案 1 :(得分:0)

我认为您正在寻找的是hapi-named-routes插件。

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

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

}

因此您可以在视图中引用此路线:

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