Create-react-app registerServiceWorker在getRegistration()promise中给出undefined

时间:2018-04-22 19:48:22

标签: javascript reactjs create-react-app

首先,它正在PC上工作但不在移动设备上,这是我的主要问题。

我使用create-react-app创建了一个PWA,我正在尝试实现推送通知,但似乎我在我的承诺的'reg'参数中未定义。有人知道如何使这个工作?我已经尝试弹出create-react-app但是会出现同样的问题。

我将此代码添加到 registerServiceWorker.js

export function displayNotification() {
  if (Notification.permission === 'granted') {
    console.log('this is showing at console when i click the button')
    navigator.serviceWorker.getRegistration().then(function(reg) {
      reg.showNotification('Hello world!');
    });
  }
}

错误:

  

未处理的拒绝(TypeError):无法读取属性   未定义的'showNotification'

这个问题讨论了这个问题,但我已经尝试了这些解决方案,但错误是一样的。

https://github.com/facebook/create-react-app/issues/2253#issuecomment-312359460

以下是旧版本,仅适用于浏览器PC,而PWA在单击按钮时会显示空白页。

我的PWA:https://danilosilvadev.github.io/pwa-test/

我的代码:https://github.com/danilosilvadev/pwa-test/tree/master

如果帮助我这个使用名为“react-web-notification”的npm包的旧版本:“^ 0.3.1”或者我在这个问题中提供的代码是我的无论如何都试图手动做我很感激。

1 个答案:

答案 0 :(得分:0)

我在计算机上测试了它:Chrome + Windows并且它正在运行。

enter image description here