Hapi.js - 如何获得渲染视图的序列化表示
Hapi.js - How do I get a serialized representation of a rendered view
我想 cache rendered views in Hapi.js (using the Vision plugin 渲染视图模板),但一直没能找到如何去做。我需要知道的是
- 如何获得渲染视图的序列化表示,我可以缓存它?
- 我应该如何使用从缓存中获得的序列化渲染回复客户端?
目前,无缓存,我响应客户端请求渲染视图的代码非常简单,基本上是这样的(不相关的代码被省略):
// renderIndex is a Hapi.js request handler
let renderIndex = (request, reply) => {
[...]
reply.view('serverSideIndex') // serverSideIndex is a .pug template
}
我在这里使用 reply.view
直接响应客户端的渲染视图。但是,我需要在此处注入缓存逻辑,以免呈现不必要的频率,从而优化性能。
如果我需要提供更多代码,请告诉我。
关于如何将视图渲染成序列化表示,是通过request.render方法完成的:
let renderedView = request.render('serverSideIndex')
至于将此序列化渲染返回给客户端,只需将其传递给回复函数即可:
reply(renderedView)
我想 cache rendered views in Hapi.js (using the Vision plugin 渲染视图模板),但一直没能找到如何去做。我需要知道的是
- 如何获得渲染视图的序列化表示,我可以缓存它?
- 我应该如何使用从缓存中获得的序列化渲染回复客户端?
目前,无缓存,我响应客户端请求渲染视图的代码非常简单,基本上是这样的(不相关的代码被省略):
// renderIndex is a Hapi.js request handler
let renderIndex = (request, reply) => {
[...]
reply.view('serverSideIndex') // serverSideIndex is a .pug template
}
我在这里使用 reply.view
直接响应客户端的渲染视图。但是,我需要在此处注入缓存逻辑,以免呈现不必要的频率,从而优化性能。
如果我需要提供更多代码,请告诉我。
关于如何将视图渲染成序列化表示,是通过request.render方法完成的:
let renderedView = request.render('serverSideIndex')
至于将此序列化渲染返回给客户端,只需将其传递给回复函数即可:
reply(renderedView)