反应服务工作者注册

Eva*_*ows 5 javascript reactjs service-worker

我正在尝试在 React 应用程序中安装 Service Worker。但是当我尝试注册它时,它失败了:

Uncaught (in promise) TypeError: Failed to register a 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>
);

}
}
Run Code Online (Sandbox Code Playgroud)

此外,我的所有文件都在 src 文件夹中。这些文件是:

索引.js

应用程序.js

离线.html

sw.js

我的 service worker(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}`);
    })
);
});
Run Code Online (Sandbox Code Playgroud)

但我仍然不断收到上述错误。如果有人知道我做错了什么,请告诉我。谢谢你帮助我!

Lew*_*wis 2

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