Невозможно импортировать модуль 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);
});
 
Вернуться на верх