当我使用 import * as firebase from 'firebase' 导入 firebase 时;?

Chi*_*pta 7 javascript firebase react-native

显示这个错误?

无法从“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"
 },
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗

Kes*_*rri 17

您应该以这种方式更新导入和代码以使其正常工作。

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 };
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您使用的是版本 9,那么不要\xe2\x80\x99t 忘记导入 firebase 的情况发生了一些变化现在有一个 \xe2\x80\x9ccompatibility\xe2\x80\x9d 选项,因此可以在导入中使用 /compat 文件夹。这是一个例子。

\n
//to use firebase app\nimport firebase from 'firebase/app'; //older version\nimport firebase from 'firebase/compat/app'; //v9\n\n//to use auth\nimport 'firebase/auth'; //older version\nimport 'firebase/compat/auth'; //v9\n\n//to use firestore\nimport 'firebase/firestore'; //Older Version\nimport 'firebase/compat/firestore'; //v9\n
Run Code Online (Sandbox Code Playgroud)\n


dam*_*nix 3

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';
Run Code Online (Sandbox Code Playgroud)

所以尝试更换

import * as firebase from 'firebase'

import firebase from 'firebase/app'

您还可以考虑使用 firebase 包装器构建 React-native https://github.com/invertase/react-native-firebase。它需要您进行文档中描述的额外设置,但效果更好。