2016-08-02 67 views
3

這是我第一次使用服務人員緩存某些內容的交互。正如我的POC我試圖緩存的資產,如「JS」,「CSS」,服務人員緩存需要時間來響應延遲

的一部分,我使用sw-toolbox

(function (global) { 
 
    'use strict'; 
 

 
    // Ensure that our service worker takes control of the page as soon as possible. 
 

 
    global.addEventListener('install', function (event) { 
 
    return event.waitUntil(global.skipWaiting()); 
 
    }); 
 
    global.addEventListener('activate', function (event) { 
 
    return event.waitUntil(global.clients.claim()); 
 
    }); 
 

 
    // The route for any requests from the googleapis origin 
 
    toolbox.router.get('/(.*)', global.toolbox.cacheFirst, { 
 
    cache: { 
 
     name: 'modjs', 
 
     maxEntries: 30, 
 
     maxAgeSeconds: 86400 
 
    }, 
 
    debug: true, 
 
    origin: /\.abc\.com\:8044$/ 
 
    }); 
 
})(self);

我可以看到網絡調用從服務來但他們仍然表現出一些延遲。 enter image description here

讓我怎麼了?

+0

此外,你可以再次嘗試不帶'緩存:{}'選項,這些選項用於設置緩存過期?它們應該以一種使其不在頁面返回響應關鍵路徑之外的方式實現,但這是一回事。 –

回答

0

爲了獲得更好的頁面呈現性能,請嘗試在.js文件之後鏈接.css文件。檢查文件的排序。請確保用戶有權訪問腳本文件。該項目可能讓他們的web.config拒絕訪問匿名用戶。

Uncaught ReferenceError bassically意味着你試圖訪問尚未定義的變量或函數。

有關詳細信息,請查看本文檔:https://developers.google.com/web/showcase/2015/service-workers-iowa#top_of_page

+0

抱歉運行代碼在這裏混淆。我沒有收到任何錯誤。我的查詢更多地涉及到爲什麼網絡延遲存在,即使我正在從服務人員那裏獲取資源。 –