javascript - 类型错误:firebaseApp.firestore 不是函数。在尝试在 Reactjs 项目中使用它时
问题描述
你好,第一次发帖,所以我一直在努力解决这个错误,并尝试在这里修复其他错误,但它在这里不起作用是我的 firebase_init.js 代码:
import * as firebase from "firebase/app";
const firebaseConfig = {
apiKey: ""
authDomain:""
projectId:""
storageBucket:""
messagingSenderId:""
appId:""
measurementId:""
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebaseApp.auth();
export { db, auth };
在检查文档后,我将这些代码复制到了 react 项目公共文件夹中的 index.html 中:
<script defer src="https://www.gstatic.com/firebasejs/8.10.0/firebase-auth.js"></script>
<script defer src="https://www.gstatic.com/firebasejs/8.10.0/firebase-firestore.js"></script>
// ...
<script defer src="../src/firebase-init.js"></script>
仍然没有任何效果,尝试了不同的导入,我还尝试删除节点模块和 package-lock.json 并重新安装,它最终弄乱了节点模块中的很多东西,所以这也不起作用。因此,对解决此问题的任何帮助将不胜感激。
解决方案
更新您的 firebase 文件以包含您计划使用的服务的导入。在您尝试初始化 auth 和 firestore 时,脚本引用可能根本不可用:
import firebase from "firebase/app";
// static import of firestore
import "firebase/firestore";
// static import of auth
import "firebase/auth";
const firebaseConfig = {
apiKey: ""
authDomain:""
projectId:""
storageBucket:""
messagingSenderId:""
appId:""
measurementId:""
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebaseApp.auth();
export { db, auth };
请记住,这是针对 Firebase 的第 8 版。此答案时的较新版本,即版本 9,看起来会大不相同:
import { initializeApp } from "firebase/app";
import { getFirestore } from 'firebase/firestore/lite';
import { getAuth } from 'firebase/auth';
const firebaseConfig = {
apiKey: ""
authDomain:""
projectId:""
storageBucket:""
messagingSenderId:""
appId:""
measurementId:""
};
const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore(firebaseApp);
const auth = getAuth(db);
export { db, auth };
推荐阅读
- php - 登录后在字符串上调用成员函数 getId()
- ios - XCUITest 框架中是否有任何同步方式来测试具有大数据的 UITableview?
- c# - 使用 IMethodCallTranslator 的具有任意数量参数的自定义函数
- javascript - 如何使其适用于 html 表中特定类的转换持续时间
- c - Linux/POSIX:timer_settime - 无法从定时器生成的线程中解除定时器
- r - 用新值替换列中的多个值
- ionic-framework - 不同幻灯片中的不同列表同时滚动
- jquery - 在按钮单击时使用 ajax 调用数据在第二次单击时不能在同一个按钮上工作
- java - Swagger codegen 生成重复变量
- arrays - 从 VBA 函数返回数组的正确方法