hapijs反向路由怎么做?

How to do hapijs reverse routing?

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

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

哪个returns/route/value1/value2

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

有什么建议吗?

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

这将允许您创建如下路线:

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

}

这样您就可以在您的视图中引用这条路线:

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

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

用你的例子,它会像这样工作:

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

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