[英]Hapi.js - How do I get a serialized representation of a rendered view
I would like to cache rendered views in Hapi.js (using the Vision plugin for rendering view templates), but haven't been able to find out how to do it. 我想在Hapi.js中 缓存渲染的视图(使用Vision插件渲染视图模板),但是还没有找到如何做到的。 What I need to know is
我需要知道的是
Currently, cache-less, my code for rendering views in response to client requests is quite straightforward, basically like this (irrelevant code left out): 当前,在无缓存的情况下,我用于响应客户请求呈现视图的代码非常简单,基本上是这样的(无关的代码被省略了):
// renderIndex is a Hapi.js request handler
let renderIndex = (request, reply) => {
[...]
reply.view('serverSideIndex') // serverSideIndex is a .pug template
}
Here I'm using reply.view
to directly respond with a rendered view to the client. 在这里,我使用
reply.view
直接以渲染视图响应客户端。 I need to inject caching logic here instead however, in order to not render more often than necessary and thereby optimize performance. 但是,我需要在此处注入缓存逻辑,以免出现不必要的渲染次数,从而优化性能。
Let me know if I need to provide more code. 让我知道是否需要提供更多代码。
Regarding how to render a view into a serialized representation, it's done through the request.render method: 关于如何将视图呈现为序列化表示形式,它是通过request.render方法完成的:
let renderedView = request.render('serverSideIndex')
As for responding with this serialized rendering back to the client, it's simply done by passing it to the reply function: 至于使用此序列化渲染返回给客户端的响应,只需将其传递给reply函数即可:
reply(renderedView)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.