开发者问题收集

未捕获的 ReferenceError:firebase 未定义 vue js

2020-01-19
676

我有一个订阅按钮,我写了一个小函数,但出现了上面的错误

methods: {
    subscribe(){
        firebase.messaging.requestPermission()
                          .then(() => {
                              console.log('Notification permission granted.');
                              return this.messaging.getToken();
                          })
    }
}

Button

<button id="subscribe" @click="subscribe">Subscribe</button>
1个回答

1.将 firebase 安装到您的项目中:

npm install --save firebase

2.然后在您的项目中添加消息传递模块。例如 index.js 文件。

import 'firebase/messaging'

3.然后在您的组件中使用消息传递:

import firebase from 'firebase';

...

methods: {
    subscribe () {
        const messaging = firebase.messaging();
        messaging.requestPermission().then(
            ...
        );
    }
}

请记住,Firebase SDK 是模块化的,尽管您引用了 firebase 包中的所有内容,但如果您未在最终包中包含引用模块 (本例中为消息传递) ,firebase 会抱怨它缺失。

查看此处了解更多信息: https://firebase.google.com/docs/web/setup

evolon
2020-01-19