0

我想在Hapi.js中缓存渲染的视图(使用Vision 插件来渲染视图模板),但无法找到如何去做。我需要知道的是

  1. 如何获得可以缓存的渲染视图的序列化表示?
  2. 我应该如何使用从缓存中获得的序列化渲染回复客户端?

目前,无缓存,我为响应客户端请求而呈现视图的代码非常简单,基本上是这样的(省略了不相关的代码):

// renderIndex is a Hapi.js request handler
let renderIndex = (request, reply) => {
  [...]
  reply.view('serverSideIndex') // serverSideIndex is a .pug template
}

在这里,我reply.view用来直接响应客户端的渲染视图。但是,我需要在此处注入缓存逻辑,以免渲染次数过多,从而优化性能。

如果我需要提供更多代码,请告诉我。

4

1 回答 1

0

关于如何将视图渲染为序列化表示,通过request.render方法完成:

let renderedView = request.render('serverSideIndex')

至于将这个序列化的渲染返回给客户端,只需将其传递给回复函数即可:

reply(renderedView)
于 2016-09-05T15:40:49.563 回答