Невозможно импортировать модуль firebase внутри firebase-messaging-sw.js
Я работаю над сервисом сообщений firebase для отправки push-уведомлений через веб-приложение django в веб-приложение на Andriod, IOS и веб-сайт, мне удалось получить токен и запустить sw, однако я не могу запустить sw и получить сообщения из-за проблемы с импортом модуля, я перепробовал все утверждения импорта и ни одно не сработало!!!
когда я выполняю следующие строки, я получаю эту ошибку "Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope':
".importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging-sw.js');
и когда я запускаю их, я получаю эту ошибку "Cannot use import statement outside a module":
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.0.0/firebase-app.js";
import { getMessaging } from "https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging-sw.js";
Обратите внимание, что у меня нет никакой ошибки при доступе к localhost:/firebase-messaging-sw.js и открытии окна загрузки для загрузки файла firebase-messaging-sw.js
пожалуйста, найдите файлы firebase-messaging-sw.js для справки:
// import { initializeApp } from "https://www.gstatic.com/firebasejs/9.0.0/firebase-app.js";
// import { getMessaging } from "https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging-sw.js";
importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging.js');
self.importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging-sw.js');
// import { initializeApp } from "./node_modules/@firebase/app";
// import { getMessaging } from "./node_modules/@firebase/messaging/sw";
// import { getMessaging } from "./firebase/@firebase/messaging/sw";
// Initialize the Firebase app in the service worker by passing in
// your app's Firebase config object.
// https://firebase.google.com/docs/web/setup#config-object
const BikumApp = firebase.initializeApp({
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
databaseURL: 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
projectId: 'xxxxxxxxxxxxxxxxxxxxxx',
storageBucket: 'xxxxxxxxxxxxxxxxxxxxxxx',
messagingSenderId: 'xxxxxxxxxxxxxxxxx',
appId: "1xxxxxxxxxxxxxxxxxxxxxxxxxx",
measurementId: 'xxxxxxxxxxxxxxxxxx',
});
// Retrieve an instance of Firebase Messaging so that it can handle background
// messages.
const messaging = firebae.getMessaging(BikumApp)
console.log(messaging);
// const messaging = getMessaging();
onBackgroundMessage(messaging, (payload) => {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
// Customize notification here
const notificationTitle = 'Background Message Title';
const notificationOptions = {
body: 'Background Message body.',
icon: '/firebase-logo.png'
};
registration.showNotification(notificationTitle,
notificationOptions);
});