2017-09-23 11 views
0

서비스 직원 등록에 문제가 있습니다. 등록하려고하면 브라우저에서 "Uncaught (in promise) TypeError : 속성 'addAll'of undefined"를 읽을 수 없습니다. 캐시에 addAll을 추가하려고하면 6 행이 깨집니다. 나는 open 메소드가 캐시 객체를 생성하여 왜 그것이 정의되지 않았을까?서비스 작업자 캐시가 정의되지 않았습니다.

"use strict"; 

self.addEventListener('install', event => { 
    event.waitUntil(
     caches.open('test').then(function(cache) { 
     return cache.addAll([ 
      '/index.html', 
      '/' 
     ]); 
    }) 
); 
}); 

self.addEventListener('activate', event => { 
event.waitUntil(self.clients.claim()); 
}); 

self.addEventListener('fetch', event => { 
event.respondWith(
    caches.match(event.request).then(response => { 
     return response || fetch(event.request); 
    }) 
); 
}); 
+0

사용중인 브라우저가'cache api '를 지원합니까? https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Browser_compatibility –

+0

예 Chorme를 사용하고 있습니다. 61 –

+0

두 번째 '\'를 사용하여 캐시하려는 것은 무엇입니까? –

답변

1

사이트를 보는 데 사용하는 브라우저에서 캐시 API가 작동하지 않는 것으로 보입니다.

내 웹 앱을 디버그 모드로 시작할 때 Visual Studio에서 자체 Chrome 인스턴스를 시작하면이 오류가 발생했습니다. 어떤 이유로 캐시 API가 작동하지 않습니다.

Chrome의 일반적인 인스턴스에 표시된 주소를 사용했는데 모든 것이 올바르게 작동했습니다.

+0

이 주석은 서비스 작업자가 로컬 캐시를 사용할 수 없으며 서비스 근로자가 로컬 캐시에 의존하고이 Visual Studio 스폰 된 컨텍스트에서 제대로 작동하지 않는 문제를 해결하는 데 도움이되었습니다. – emullet