Reactjs 将应用程序与FCM集成时出现MIME类型错误
我正在尝试将我的react应用程序与Firebase集成,以实现推送通知。我的src文件夹中有一个包含所有配置的文件:Reactjs 将应用程序与FCM集成时出现MIME类型错误,reactjs,firebase-cloud-messaging,Reactjs,Firebase Cloud Messaging,我正在尝试将我的react应用程序与Firebase集成,以实现推送通知。我的src文件夹中有一个包含所有配置的文件: import firebase from 'firebase/app'; import 'firebase/messaging'; const config = { apiKey: "API_KEY", authDomain: "MY_DOMAIN", databaseURL: "DATABASE_UR
import firebase from 'firebase/app';
import 'firebase/messaging';
const config = {
apiKey: "API_KEY",
authDomain: "MY_DOMAIN",
databaseURL: "DATABASE_URL",
projectId: "PROJECT_ID",
storageBucket: "STORAGE_BUCKET",
messagingSenderId: "SENDER_ID",
appId: "APP_ID",
measurementId: "MEASURE_ID"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
export const requestFirebaseNotificationPermission = () =>
new Promise((resolve, reject) => {
messaging
.requestPermission()
.then(() => messaging.getToken())
.then((firebaseToken) => {
resolve(firebaseToken);
})
.catch((err) => {
reject(err);
});
});
export const onMessageListener = () =>
new Promise((resolve) => {
messaging.onMessage((payload) => {
resolve(payload);
});
});
下面是我如何在App.js中实现推送通知的功能:
// Load the FCM configuration parameters and activate the push notifications through the app
requestFirebaseNotificationPermission()
.then((firebaseToken) => {
// eslint-disable-next-line no-console
console.log("CHECK_FCM_TOKEN", firebaseToken);
this.setState({ fcmToken: firebaseToken })
})
.catch((err) => {
return err;
});
这是我经常遇到的错误,我长期以来一直没有解决方案:
如果能有任何帮助来解决这个问题,我将不胜感激。我也有类似的问题。问题是我没有正确加载服务人员文件 将您的服务人员文件放在公用文件夹中,然后尝试访问它。 例如:我的服务人员文件(firebase messaging sw.js)被放在公共文件夹中。所以如果我打开http://localhost:3000/firebase-messaging-sw.js我可以查看js文件
react之前尝试获取此文件并返回了一个html(默认索引页)文件,导致返回MIME类型错误。我也有类似问题。问题是我没有正确加载服务人员文件 将您的服务人员文件放在公用文件夹中,然后尝试访问它。 例如:我的服务人员文件(firebase messaging sw.js)被放在公共文件夹中。所以如果我打开http://localhost:3000/firebase-messaging-sw.js我可以查看js文件 react之前尝试获取此文件并返回html(默认索引页)文件,导致返回MIME类型错误