当进入脱机状态,我通过我的服务人员会收到以下错误:未知错误
(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's 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与反应,以及在做的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]'
}
]
误差不提供任何信息,所发生的事情。
任何人有任何想法如何解决这个问题?
有一个类似的问题举办所产生的DIST文件夹。该错误仅在离线模式下出现。我认为这个错误并不是一个表演阻止者。 – Rexford
那么该网站现在不适用于所有离线。我得到了恐龙,所以是的,如果你想要做的是让它脱机工作,那么它就是个不错的选择。 – MLyck
你想抓取sw文件吗?请问为什么?我有一个想法,为什么这个错误,但我想澄清更多。 –