2017-05-02 84 views
0

我正在與NodeJS + Server-Side-Rendering合作。因此,儘管HTML是渲染,而不是做一個空白屏幕上的客戶端的等待,我想使這個HTML:如何立即回覆?

<!DOCTYPE html> 
<html> 
    <head><title>PageTitle</title></head> 
    <body><h1>Loading....</h1></body> 
</html> 

而且,一旦server-side準備html,我想要stream它給客戶端。基本上,我想用上面提到的html替換html已經created/rendered ...

我可以用NodeJS streams做些什麼嗎?

回答

1

我會說這可能是可能的,但我會阻止它作爲快速渲染的解決方案。相反,呈現服務器上的整個頁面,並將DOM緩存在內存中。這樣,當請求進入時,您可以立即使用緩存副本進行響應,並在沒有加載屏幕的情況下傳送整個內容。

或者,我會使用JavaScript從節點服務器獲取內容,在頁面加載後。

0

除非我非常誤解,否則您將無法使用純粹的服務器端渲染技術來完成此操作。你從呈現您的服務器的單一響應:

<!DOCTYPE html> 
<html> 
    <head><title>PageTitle</title></head> 
    <body><h1>Loading....</h1></body> 
</html> 

你需要另一種技術添加到混合物中得到弗朗服務器的額外響應。 Ajax調用服務器,websockets,webworkers等。