(я новичок в VueJS и Firebase)
Привет! У меня очень странная проблема с моим проектом. Я пытался добавить FCM (Firebase Cloud Messaging) в мой Vue CLI-проект.
Это код моего main.js
, который прекрасно работает в моем браузере P C chrome:
import Vue from "vue";
import "./plugins/axios";
import App from "./App.vue";
import vuetify from "./plugins/vuetify";
import router from "./router";
import firebase from "firebase/app";
import 'firebase/messaging'
firebase.initializeApp({"...Firebase config here..."});
let messaging = firebase.messaging();
export { messaging };
export default Vue.use(vuetify, {});
Vue.prototype.$messaging = messaging;
Vue.config.productionTip = false;
navigator.serviceWorker.register('./firebase-messaging-sw.js')
.then((registration) => {
Vue.prototype.$messaging.useServiceWorker(registration)
})
.catch(err => {
console.log("Service worker registration error at main.js:", err)
})
new Vue({
vuetify,
router,
render: h => h(App)
}).$mount("#app");
Но, когда я пытаюсь открыть веб-сайт на своем смартфоне через браузер Chrom Android, он показывает мне только пустую страницу, когда загружается только значок.
(я использую команду npm run serve
для запуска локальной подачи, к которой я подключаюсь на своем P C и моем смартфоне.)
Но , когда я закомментирую, следующие части:
let messaging = firebase.messaging();
и
navigator.serviceWorker.register('./firebase-messaging-sw.js')
.then((registration) => {
Vue.prototype.$messaging.useServiceWorker(registration)
})
.catch(err => {
console.log("Service worker registration error at main.js:", err)
})
веб-страница на моем смартфоне загружает пользовательский интерфейс без каких-либо проблем.
Что я делаю не так и как я могу это исправить?
PS: это мой firebase-messaging-sw.js
файл (который находится в каталоге public
моего проекта), если он вам нужен:
importScripts("https://www.gstatic.com/firebasejs/6.3.4/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/6.3.4/firebase-messaging.js");
firebase.initializeApp({ messagingSenderId: "MY_MSGING_SENDER_ID" });
const messaging = firebase.messaging();