При переходе в автономный режим мой служебный работник получает следующую ошибку:
(unknown) #3016 An unknown error occurred when fetching the script
мой сервисный работник выглядит следующим образом:
var version = 'v1'
this.addEventListener('install', function(event){
event.waitUntil(
caches.open(version).then(cache => {
return cache.addAll([
'https://fonts.googleapis.com/icon?family=Material+Icons',
'https://fonts.googleapis.com/css?family=Open+Sans:400,600,300',
'./index.html'
])
})
)
})
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(resp) {
// if it not in the cache, server the regular network request. And save it to the cache
return resp || fetch(event.request).then(function(response) {
return caches.open(version).then(function(cache) {
cache.put(event.request, response.clone())
return response
})
})
})
)
})
Он находится в каталоге верхнего уровня, рядом с манифестом, импортирующим как это в index.html:
<link rel="manifest" href="/manifest.json">
Я импортирую сервисного работника в свой файл js ввода. И зарегистрируйте его сразу после.
require('tether-manifest.json')
import serviceWorker from 'sw'
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register(serviceWorker)
.then(() => {
// registration worked
}).catch(error => {
throw new Error(error)
})
}
Он регистрируется в порядке. Я не сталкиваюсь с ошибкой, пока не перейду в автономный режим.
Я использую webpack с React и делаю следующее в webpack, чтобы скопировать мой файл sw.js в папку dist:
loaders: [
{ // Service worker
test: /sw\.js$/,
include: config.src,
loader: 'file?name=[name].[ext]'
},
{ // Manifest
test: /manifest\.json$/,
include: config.src,
loader: 'file?name=[name].[ext]'
}
]
Ошибка не дает никакой информации о том, что происходит.
Кто-нибудь знает, как это исправить?