Firebase 8.8.1调用appCheck提示'appCheck is not a function'如何解决
问题原因
- 未导入Firebase AppCheck对应的依赖模块:Firebase 8.x版本的非核心服务都需要单独导入对应模块,才会在全局firebase对象上暴露对应服务的调用方法,你当前仅导入了functions模块,自然找不到
appCheck方法。 - 调用顺序错误:你先调用了
firebase.appCheck(),再执行Firebase实例初始化,所有Firebase服务的调用都必须在initializeApp执行完成之后才能触发。
解决方案
修改配置文件代码,先补全AppCheck模块导入,再调整执行顺序即可,修正后代码如下:
import firebase from "firebase/app"; import "firebase/functions"; import "firebase/app-check"; // 新增AppCheck模块导入 const firebaseConfig = { apiKey: "--", authDomain: "--", projectId: "--", storageBucket: "--", messagingSenderId: "--", appId: "--" }; // 先执行Firebase实例初始化 const app = firebase.initializeApp(firebaseConfig) // 初始化完成后再调用AppCheck const check = firebase.appCheck() check.activate('appCheckKey', true) // 也可以选择从已初始化的app实例调用,写法为const check = app.appCheck(),效果一致 const functions = firebase.functions() export { app, functions }
内容的提问来源于stack exchange,提问作者Lucas David Ferrero
相关产品推荐
相关产品推荐

