2016-09-05 13 views
0

我想在Hapi.jscache渲染視圖(使用Vision plugin渲染視圖模板),但一直沒能找出如何做到這一點。我需要知道的是Hapi.js - 我如何獲得一個渲染視圖的序列化表示

  1. 如何獲得渲染視圖的序列化表示,我可以緩存?
  2. 我應該如何回覆客戶端的序列化渲染,我從緩存中獲取?

目前,不帶cache的,我的響應呈現視圖的客戶端請求的代碼是相當簡單的,基本上是這樣的(不相關的代碼省略了):

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

這裏我使用reply.view直接回應客戶的渲染視圖。然而,我需要在這裏注入緩存邏輯,以便不必經常渲染,從而優化性能。

讓我知道如果我需要提供更多的代碼。

回答

0

關於如何渲染視圖到序列化表示,它通過request.render方法的完成:

let renderedView = request.render('serverSideIndex') 

至於這種序列化渲染返回給客戶端響應,它只是通過它傳遞給答覆完成功能:

reply(renderedView)