在构建应用程序时,我无法在expo react native中以优化形式初始化firebaseV9
。我从V8
切换到V9
,计数器不同的错误,这对我来说没有意义。
像module idb missing from file "...node_modules@firebaseappdistesm...
一样,我甚至创建了一个metro.config.js文件。
和Firebase could not be found within the project
,当它出现在(Firebase V8)。
这个错误,我想知道at node_modulesreact-nativeLibrariesLogBoxLogBox.js:149:8 in register
是怎么回事。Error at node_modulesreact-nativeLibrariesLogBoxLogBox.js:60:8 in errorImpl....
,这是问题或检查这个问题
和undefined is not an object (evaluating '_app.default.apps')
.
所有这些问题及其答案都可以在stackoverflow上找到。但他们都不适合我。我不是在详细阐述这些问题,只是给你们一些想法。所以我尝试了一些方法,并且成功了。
在上面的问题中,我告诉了一些错误,经过多次搜索,我能够解决我的问题。
首先,我删除.expo
,.expo-share
,node_modules
,package-lock.json
和yarn.lock
(如果有的话)。然后是yarn install
或npm install
import { initializeApp, getApps, getApp } from "firebase/app";
import { getAuth } from "firebase/auth";
import { getFirestore } from "firebase/firestore";
// import others as you need
const firebaseConfig = { ... };
let app;
if (getApps().length === 0) app = initializeApp(firebaseConfig);
else app = getApp();
const db = getFirestore(app);
const auth = getAuth();
export { auth, db };
V8
import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
// import others as you need
const firebaseConfig = { ... };
let app;
if (firebase.apps.length === 0) app = firebase.initializeApp(firebaseConfig);
else app = firebase.app();
const db = app.firestore();
const auth = firebase.auth();
export { auth, db };
我提到过创建一个metro.config.js当我在这个问题中阅读评论时,有些人感到困惑,是否存在与firebase或metro文件相关的问题。对我来说,我想它是一个火力基地。如果你仍然得到这个错误,那么降级到firebase@9.6.11,见这里
我给出了2个错误的参考,其他2个很容易得到。它对我有用,我希望这对你们中的任何一个人都有帮助。