【问题标题】:Uncaught TypeError: firebase.messaging is not a function未捕获的类型错误:firebase.messaging 不是函数
【发布时间】:2019-07-24 08:57:12
【问题描述】:

这是我的代码:

    <script>

        // Your web app's Firebase configuration
        var firebaseConfig = {
            apiKey: "<from firebase>",
            authDomain: "<from firebase>",
            databaseURL: "<from firebase>",
            projectId: "<from firebase>",
            storageBucket: "",
            messagingSenderId: "<from firebase>",
            appId: "<from firebase>"
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);


        // [START get_messaging_object]
        // Retrieve Firebase Messaging object.
        const messaging = firebase.messaging();

    </script>

这行firebase.messaging(); 抛出:

Uncaught TypeError: firebase.messaging is not a function at

注意到console.log(firebase)的结果是:

知道有什么问题吗?

【问题讨论】:

  • 您能否编辑您的问题以显示您如何包含 Firebase SDK?
  • @FrankvanPuffelen 问题是,在页面顶部没有添加&lt;script src="https://www.gstatic.com/firebasejs/6.3.1/firebase-messaging.js"&gt;&lt;/script&gt;。现在我遇到了一个新问题..它是本地主机上的 SSL 证书..我使用 xampp 和本地主机上的 firebase 显然不起作用(因为当我在服务器上上传我的代码时,它运行良好)
  • 是的,这就是我所期望的,这就是我要求查看包含内容的原因。 :) 很高兴听到你把它修好了。随意自行回答,或作为临时问题/错字级别问题关闭。
  • @FrankvanPuffelen 当然,我会添加一个自我回答 .. 只是因为您在 google 工具(特别是 firebase)上享有盛誉,请您看看 this 并告诉我是否你有什么意见吗?我真的坚持下去了。

标签: javascript firebase firebase-cloud-messaging


【解决方案1】:

您似乎没有遵循文档中的基本集成步骤。有一个用于消息传递的包含:

<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-messaging.js"></script>

【讨论】:

    【解决方案2】:

    您必须包含 import '@firebase/messaging' 才能正常工作。所以它应该是这样的:

    import * as firebase from 'firebase/app';
    import '@firebase/messaging';
    

    原答案: TypeError: firebase.messaging is not a function in node.js

    【讨论】:

    • OP 直接将 SDK 包含在 HTML 中。没有使用 NodeJs。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2019-06-06
    • 2019-05-24
    • 2021-12-15
    • 2019-10-26
    • 2016-06-27
    相关资源
    最近更新 更多