當進入脫機狀態,我通過我的服務人員會收到以下錯誤:未知錯誤
(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文件嗎?請問爲什麼?我有一個想法,爲什麼這個錯誤,但我想澄清更多。 –