React Serviceworker注册

时间:2018-08-24 03:12:21

标签: javascript reactjs service-worker

我正在尝试在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}`);
    })
);
});

但是我仍然继续遇到上述错误。如果有人知道我在做什么错,请告诉我。感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

该错误表示您的服务工作者文件sw.js中存在异常,因此服务工作者无法评估相关代码。它可以是语法错误或运行时异常。在这种情况下,this.addEventListner必须改为this.addEventListener

相关问题