React Native 当我使用import * 作为firebase从'firebase'导入firebase时;?

9lowa7mx  于 2022-12-19  发布在  React
关注(0)|答案(6)|浏览(168)

显示了这个错误?
无法从“App.js”解析“firebase”构建JavaScript包失败。
我试着寻找答案,但这些都是以前的版本为firebase我也尝试添加这个导入太多,但没有解决我的问题。
从“@firebase/app”导入firebase

},
 "dependencies": {
"expo": "^33.0.0",
"firebase": "^6.3.0",
"native-base": "^2.12.1",
"react": "16.8.3",
"react-dom": "^16.8.6",
"react-native": "https://github.com/expo/react-native/archive/sdk- 
33.0.0.tar.gz",
"react-native-gesture-handler": "^1.3.0",
"react-native-web": "^0.11.4",
"react-navigation": "^3.11.1"
 },

有人能帮忙吗

c90pui9n

c90pui9n1#

你应该用这种方式更新导入和代码来使它工作。

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

const firebaseConfig = { // Have the firebase config here
  apiKey: "",
  authDomain: "",
  projectId: "",
  storageBucket: "",
  messagingSenderId: "",
  appId: "",
  measurementId: ""
};

// Use this to initialize the firebase App
const firebaseApp = firebase.initializeApp(firebaseConfig);

// Use these for db & auth
const db = firebaseApp.firestore();
const auth = firebase.auth();

export { auth, db };
h22fl7wq

h22fl7wq2#

firebase npm包的文档中,他们说:
如果您正在使用带有--experimental-modules标志的原生ES6模块,您应该执行以下操作:

// This import loads the firebase namespace.
import firebase from 'firebase/app';

// These imports load individual services into the firebase namespace.
import 'firebase/auth';
import 'firebase/database';

所以试试替换
import * as firebase from 'firebase'

import firebase from 'firebase/app'
你也可以考虑为react-native https://github.com/invertase/react-native-firebase使用firebase wrapper build,这需要你在文档中描述的额外设置,但是效果更好。

gojuced7

gojuced73#

如果您使用的是Version 9,那么不要忘记导入firebase时做了一些更改。现在有一个“compatibility”选项,这样您就可以在导入中使用/compat文件夹。

//to use firebase app
import firebase from 'firebase/app'; //older version
import firebase from 'firebase/compat/app'; //v9

//to use auth
import 'firebase/auth'; //older version
import 'firebase/compat/auth'; //v9

//to use firestore
import 'firebase/firestore'; //Older Version
import 'firebase/compat/firestore'; //v9
8fsztsew

8fsztsew4#

试试看:
npm安装--保存firebase

yk9xbfzb

yk9xbfzb5#

像这样进口

import firebase from 'firebase/compat/app';
import "firebase/storage";

//您的Web应用的Firebase配置

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

//初始化Firebase

const app = !firebase.apps.length
  ? firebase.initializeApp(firebaseConfig)
  : firebase.app();

const db = app.firestore;
const auth = app.auth;
const storage = firebase.storage;

export { auth, db, storage };
jq6vz3qz

jq6vz3qz6#

请注意,如果您使用的是较新版本的firebase,即〉9.x,那么请使用以下命令:

import firebase from 'firebase/compat/app';

相关问题