将Firebase FCM添加到reactjs应用

Nom*_*Ali 3 javascript firebase reactjs firebase-cloud-messaging

我正在尝试在我的reactjs应用程序中向用户发送推送通知。我已添加Firebase,请求用户具有通知权限。很好

但是现在我想注册设备令牌。但这给了我错误:

消息传递:我们无法注册默认服务工作者。无法注册ServiceWorker:脚本具有不受支持的MIME类型('text / html')。(消息/服务工作者注册失败)

在哪里添加firebase-messaging-sw.js文件?如何在React App中注册服务工作者?

这是我用来注册设备令牌的代码:

messaging.getToken()
      .then(function(currentToken) {
        if (currentToken) {
         // sendTokenToServer(currentToken);
         // updateUIForPushEnabled(currentToken);
        } else {
          // Show permission request.
          console.log('No Instance ID token available. Request permission to generate one.');
          // Show permission UI.
        //  updateUIForPushPermissionRequired();
        //  setTokenSentToServer(false);
        }
      })
      .catch(function(err) {
        console.log('An error occurred while retrieving token. ', err);
        //showToken('Error retrieving Instance ID token. ', err);
        //setTokenSentToServer(false);
      });
Run Code Online (Sandbox Code Playgroud)

注意:它不是本机响应,而是Web应用程序。

Nom*_*Ali 5

我已将firebase-messaging-sw.js文件添加到我的公共目录(带有index.html)文件中。那解决了问题。

在这篇文章中查看更多