TypeScript 上的 Firebase FCM:“脚本具有不受支持的 MIME 类型('text/html')

Posted

技术标签:

【中文标题】TypeScript 上的 Firebase FCM:“脚本具有不受支持的 MIME 类型(\'text/html\')【英文标题】:Firebase FCM on TypeScript: "The script has an unsupported MIME type ('text/html')TypeScript 上的 Firebase FCM:“脚本具有不受支持的 MIME 类型('text/html') 【发布时间】:2021-05-29 04:12:33 【问题描述】:

我正在尝试为我的应用实施 FCM,但由于此错误,我还无法接收设备令牌。这是我要运行的代码:

export const requestFirebaseNotificationPermission = () =>
  new Promise((resolve, reject) => 
    messaging
      .requestPermission()
      .then(() => messaging.getToken())
      .then((firebaseToken) => 
        resolve(firebaseToken);
      )
      .catch((err) => 
        reject(err);
      );
  );

似乎 th ServiceWorker 可能有问题:

FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker for scope ('http://localhost:3000/firebase-cloud-messaging-push-scope') with script ('http://localhost:3000/firebase-messaging-sw.js'): The script has an unsupported MIME type ('text/html'). (messaging/failed-service-worker-registration).

我发现this 文件似乎涉及到这个主题,但我承认我不明白需要做什么。我应该创建一个名为 firebase-messaging-sw.js 的文件并使其在我的路线上可用吗?这应该如何工作?

【问题讨论】:

【参考方案1】:

我终于找到了一篇关于这个主题的更好解释的文章 here,并且可以按照这些步骤在我的 React 应用中启用通知。

由于我是新手,我不清楚 firebase-messaging-sw.js 文件应该放在“public”目录中。

【讨论】:

以上是关于TypeScript 上的 Firebase FCM:“脚本具有不受支持的 MIME 类型('text/html')的主要内容,如果未能解决你的问题,请参考以下文章