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')的主要内容,如果未能解决你的问题,请参考以下文章

使用 typescript 中 Promise 中的值设置 React.FC 状态

React Typescript:在 React.FC 中设置状态以更改 React.Component 中的值

firebase 云功能中带有 typescript 的 firebase-admin

找不到模块“firebase”或其相应的类型声明。 React + TypeScript + Firebase

Typescript:更新 Firebase 函数依赖项时出现编译错误

Typescript 中的 React + Firebase 云功能无法部署