Добавить работника службы в веб-приложение vuejs / firebase - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь добавить работника службы в мое приложение vuejs.и вот что я получаю: Ошибка регистрации ServiceWorker: Ошибка типа: Не удалось зарегистрировать ServiceWorker: При получении сценария получен неверный код ответа HTTP (404).Я много искал, но не могу понять, где проблема.Причина добавления работника сервиса заключается в том, чтобы сохранить токен любого устройства, зарегистрированного в приложении, и иметь возможность отправлять им уведомления.in index.html: static / manifest.json ">

// app.js
var config = {
  apiKey: '',
  authDomain: '',
  databaseURL: '',
  projectId: '',
  storageBucket: '',
  messagingSenderId: ''
};
firebase.initializeApp(config);

const messaging = firebase.messaging();
let userToken    = null,
    isSubscribed = false

window.addEventListener('load', () => {

    if ('serviceWorker' in navigator) {

      navigator.serviceWorker.register("firebase-messaging-sw.js", {scope: "firebase-cloud-messaging-push-scope"}).then(function (registration) {
  const messaging = firebase.messaging();
  messaging.useServiceWorker(registration);

  }).catch(function (err) {
    // registration failed :(
    console.log('ServiceWorker registration failed: ', err);

  })
    } else {
    }
});

messaging.requestPermission().then(function() {
   //getToken(messaging);
   return messaging.getToken();
}).then(function(token){
console.log(token);
})
.catch(function(err) {
console.log('Permission denied', err);
});


messaging.onMessage(function(payload){
console.log('onMessage: ',payload);
});

// firebase-messaging-sw.js

importScripts('https://www.gstatic.com/firebasejs/3.9.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/3.9.0/firebase-messaging.js');
self.addEventListener('notificationclick', event => {
    console.log(event)

    event.notification.close()

    event.waitUntil(
        self.clients.openWindow('/')
    )
})
   var config = {
        apiKey: '',
        authDomain: '',
        databaseURL: '',
        projectId: '',
        storageBucket: '',
        messagingSenderId: ''
      };

      firebase.initializeApp(config);
      const messaging = firebase.messaging();

// manifest.json

{
  "name": "Du",
  "short_name": "Du",
  "icons": [
    {
      "src": "/static/img/icons/cro-icon-64x64.png",
      "sizes": "64x64",
      "type": "image/png"
    },
    {
      "src": "/static/img/icons/cro-icon-128x128.png",
      "sizes": "128x128",
      "type": "image/png"
    }
  ],
  "start_url": "/",
  "display": "fullscreen",
  "orientation": "portrait",
  "background_color": "#2196f3",
  "theme_color": "#2196f3",
   "gcm_sender_id": ""
}

консоль папка проекта console2

...