2016-11-19 77 views
0

我是服務人員的新手。我想整合服務人員在我的網站。我的動機是提高我的網站的性能,而不是使網站離線。它是一個房地產網站。在移動網站上生產服務人員

所以我迄今爲止所做的工作就是創建我的網站的模塊化模板並將它們存儲在緩存中。例如對於例如 模板1

<div> 
    <p>#data</p> 
<div> 

每當取我的網頁上出現我先打電話通過Ajax的API獲取數據並更換由實際API響應緩存響應#DATA變量,然後我返回給瀏覽器新的響應。

問題1: -所以我想知道的是,正確的做法。爲模板緩存?

在上述方法中,我在我的html中收到像循環和條件語句這樣的挑戰。 問題2: -有沒有什麼辦法可以緩存具有循環的模板並在運行時更改它們?

問題3: -說如果我最初向用戶展示緩存的app-shell,那麼是否會影響我的網站的SEO排名?

問題4: -我必須寫現有代碼的新模板,這意味着我必須保持兩個代碼一個服務人員和另一個用於不支持服務workers.Any解決這個正常的瀏覽器?

Regards

回答

0

這是很多問題,我不認爲服務人員一定是您最好的選擇。

問題1:就我個人而言,我推薦使用一個框架,如KnockoutJS,Angular,Polymer ...等等來爲您的HTML模板。這些通常具有內置的模板緩存。

問題2:相反,你正在使用,其中要替換的變量「將它們發送到瀏覽器之前,該方法的大多數框架將使用某種形式的數據綁定這將需要在瀏覽器中護理的迭代和條件。

問題3:緩存app-shell對搜索引擎優化沒有影響,Google一直在解析JavaScript;然而親自我會建議網站的內容加載沒有JavaScript,然後JavaScript只是用來增強體驗。無論是否使用app-shell模型,這都是一樣的。

問題4:我不明白你當前的設置,這不會是一個普通的情況,所以你可能有什麼問題。

服務工作者和緩存API通常用於緩存靜態資產,通常是字體,CSS,JavaScript和HTML模板,並且由於HTTP請求較少而導致性能提高;但還有其他方法可以提高性能,而無需使用服務人員即可解決所有問題。