【问题标题】:Unable to resolve "idb" from "node_modules\@firebase\app\dist\esm\index.esm2017.js" in expo/react-native app无法在 expo/react-native 应用程序中从 \"node_modules\\@firebase\\app\\dist\\esm\\index.esm2017.js\" 解析 \"idb\"
【发布时间】:2022-09-27 20:43:18
【问题描述】:

// imports of screens and react standards dependency

import { createAppContainer, createSwitchNavigator } from \"react-navigation\"
import { createStackNavigator } from \"@react-navigation/stack\"
import LoadingScreen from \"./screens/LoadingScreen\"
import LoginScreen from \"./screens/LoginScreen\"
import RegisterScreen from \"./screens/RegisterScreen\"
import HomeScreen from \"./screens/HomeScreen\"

//firebase import

import * as firebase from \'firebase/app\';

import \'firebase/auth\';
import \'firebase/firestore\';
import \'firebase/storage\';
import \'firebase/messaging\';
import \'firebase/analytics\';

//firebase config

const firebaseConfig = {
  apiKey: \"privateforquestion\",
  authDomain: \"privateforquestion\",
  projectId: \"privateforquestion\",
  storageBucket: \"privateforquestion\",
  messagingSenderId: \"privateforquestion\",
  appId: \"privateforquestion\"
};

// Initialize Firebase

firebase.initializeApp(firebaseConfig);

//creating navigations and auth

const AppStack = createStackNavigator({
  Home: HomeScreen,
});

const AuthStack = createStackNavigator({
  Login: LoginScreen,
  Register: RegisterScreen,
});

export default createAppContainer(
  createSwitchNavigator(
    {
      Loading: LoadingScreen,
      App: AppStack,
      Auth: AuthStack,
    },
    {
      initialRouteName: \"Loading\",
    }
  )
);

    标签: javascript react-native expo


    【解决方案1】:

    尝试将您的 Firebase 降级到 9.2.0。

    我在使用 expo 46.0.9 和 react-native 0.69.5 时遇到了同样的问题,我已将 firebase 降级到 9.2.0,暂时可以使用。

    npm install firebase@9.2.0

    更新

    创建一个名为Metro.config.js在项目的根目录上。

    并在文件中添加以下代码。

    const { getDefaultConfig } = require('expo/metro-config');
    const defaultConfig = getDefaultConfig(__dirname);
    defaultConfig.resolver.sourceExts.push('cjs');
    module.exports = defaultConfig;
    

    这应该适用于 firebase > 9.10.0 上的最新版本

    【讨论】:

      猜你喜欢
      • 2022-10-26
      • 2022-06-27
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2021-11-28
      相关资源
      最近更新 更多