Почему я получаю сообщение об ошибке при попытке получить токен из firebase в Vue js? - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь внедрить firebase в свой проект vue.js, но получаю сообщение об ошибке firebase.messaging.getToken().Вот скриншот моей проблемы

enter image description here

Ошибка:

Сценарий имеет неподдерживаемый тип MIME ('text / html').

Не удалось загрузить ресурс: net :: ERR_INSECURE_RESPONSE

Не удалось получить разрешение на уведомление.

  • browserErrorMessage: «Не удалось зарегистрировать ServiceWorker: сценарий имеет неподдерживаемый тип MIME (« text / html »).»

  • code: «message / failed-serviceworker-registration»

  • сообщение: «Messaging: нам не удалось зарегистрировать работника службы по умолчанию. Не удалось зарегистрировать ServiceWorker: сценарий имеет неподдерживаемый тип MIME('text / html'). (messaging / fail-serviceworker-registration). "

  • stack:" FirebaseError: Messaging: нам не удалось зарегистрировать работника службы по умолчанию.зарегистрируйте ServiceWorker: сценарий имеет неподдерживаемый MIME-тип ('text / html'). (messaging / fail-serviceworker-registration) .↵ на eval (webpack-internal: ///./node_modules/@firebase/messaging/dist/index.esm.js:1950:32)"

А вот мой код.

firebase.messaging().requestPermission().then(function () {
  console.log('Notification permission granted.')
  return firebase.messaging().getToken()
    .then(function (currentToken) {
      console.log(currentToken)
    })
}).catch(function (err) {
  console.log('Unable to get permission to notify.', err)
})

Сервисные работники

enter image description here

Кто-нибудь знает, как решить эту проблему?Я пытался разными способами, но я не мог понять это.Не могли бы вы помочь мне?

Спасибо.

1 Ответ

0 голосов
/ 03 августа 2018

Попробуйте поместить файл (или создать файл) " firebase-messaging-sw.js " в папку / public

внутри firebase-messaging-sw.js скопируйте и вставьте это (и измените идентификатор отправителя ):

// Give the service worker access to Firebase Messaging.
// Note that you can only use Firebase Messaging here, other Firebase libraries
// are not available in the service worker.
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-messaging.js');

// Initialize the Firebase app in the service worker by passing in the
// messagingSenderId.
firebase.initializeApp({
  'messagingSenderId': 'YOUR-SENDER-ID'
});

// Retrieve an instance of Firebase Messaging so that it can handle background
// messages.

const messaging = firebase.messaging();

Работает для меня (используя React)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...