我正在尝试在React应用程序中安装服务工作者。但是当我尝试注册它时,它失败并显示:
未捕获(承诺)TypeError:无法注册ServiceWorker:ServiceWorker脚本评估失败
我的代码在App.js中,并且其中的代码是:
import React, { Component } from 'react';
class App extends Component {
constructor(){
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('./sw.js')})}
}
render() {
return (
<div className="App">
<h1>PWA Go!</h1>
</div>
);
}
}
此外,我所有的文件都在src文件夹中。这些文件是:
index.js
App.js
offline.html
sw.js
我的服务工作者(sw.js)里面有以下代码:
this.addEventListner(`install`, (e) => {
e.waitUntil(
caches.open(`V1`)
.then((ref) => {
ref.add(`offline.html`)
})
.catch((err) => {
console.log(`Something went wrong here : ${err}`);
})
);
});
但是我仍然继续遇到上述错误。如果有人知道我在做什么错,请告诉我。感谢您的帮助!
答案 0 :(得分:1)
该错误表示您的服务工作者文件sw.js
中存在异常,因此服务工作者无法评估相关代码。它可以是语法错误或运行时异常。在这种情况下,this.addEventListner
必须改为this.addEventListener
。