【问题标题】:Optimized Way To Initialized Firebase in React Native在 React Native 中初始化 Firebase 的优化方法
【发布时间】:2022-06-25 08:09:20
【问题描述】:

在构建应用程序期间,我无法在 expo react native 中以优化形式初始化 firebase V9。并应对不同的错误,这对我来说没有意义。

就像module idb missing from file "...\node_modules\@firebase\app\dist\esm\... 一样,即使我创建了一个 metro.config.js 文件。

还有Firebase could not be found within the project 存在时(Firebase V8)。

还有这个错误,我知道 at node_modules\react-native\Libraries\LogBox\LogBox.js:149:8 in register 是怎么回事。 Error at node_modules\react-native\Libraries\LogBox\LogBox.js:60:8 in errorImpl....,这里是issue

还有undefined is not an object (evaluating '_app.default.apps')

所有此类问题及其答案都可以在 stackoverflow 上找到。但它们都不适合我。我没有详细说明这些问题,只是给你一些想法。所以我尝试了一些方法,并且成功了。

【问题讨论】:

    标签: javascript reactjs firebase react-native expo


    【解决方案1】:

    在上面的问题中,我讲述了一些错误,经过多次搜索,我能够解决我的问题。

    首先,我删除 .expo.expo-sharenode_modulespackage-lock.jsonyarn.lock (如果有的话)。然后是 yarn install 或 npm install。

    其次,将firebase代码更改为for V9。我看到很多人建议在不需要时发生上述错误时降级到 V8

    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 };

    我提到了创建一个 metro.config.js,当我在这个 problem 中阅读 cmets 时,有些人感到困惑,是否存在与 firebase 或 metro 文件相关的问题。对我来说,我猜它的火力基地。

    我给出了 2 个错误的参考,其他 2 个很容易获得。它对我有用,我希望这对你们中的任何人都有帮助。

    【讨论】:

      猜你喜欢
      • 2018-11-21
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 2015-12-11
      • 2023-02-01
      • 1970-01-01
      相关资源
      最近更新 更多