无法从“firebase.js”解析模块“firebase”:在项目中找不到 Firebase

Mar*_*rko 12 javascript firebase reactjs react-native

我在将 firebase 纳入该项目时遇到问题,我真的不确定出了什么问题?所有 firebase 代码(除了项目特定的配置代码)与另一个(工作)项目完全相同......

我正在将 React-native 与 expo 结合使用,并将 FB 数据库作为一个 Web 项目。

我在项目根级别上名为 firebase.js 的文件中初始化数据库,它位于 app.js 旁边。数据库还没有安全规则,所以我删除了一些信息,但它是您所期望的 api 密钥。

import * as firebase from 'firebase';
import 'firebase/firestore';

const firebaseConfig = {
    apiKey: "removed for post",
    authDomain: "removed for post",
    databaseURL: "removed for post",
    projectId: "goalsdev-7eb67",
    storageBucket: "goalsdev-7eb67.appspot.com",
    messagingSenderId: "362368452051",
    appId: "removed for post",
    measurementId: "G-CNRGY3FTLE"
};

firebase.initializeApp(firebaseConfig);

export default firebase;
Run Code Online (Sandbox Code Playgroud)

然后我尝试像这样使用它......

import firebase from 'firebase'
Run Code Online (Sandbox Code Playgroud)

这是在/screens/signUpFinal中,还尝试导入为 'firebase.js'、'../firebase' 和 '../firebase.js'

package.json 是:

...
"dependencies": {
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-firebase/app": "^8.4.3",
    "@react-native-firebase/auth": "^9.2.3",
    ...
...
Run Code Online (Sandbox Code Playgroud)

kar*_*del 13

第一次运行

npm install --save firebase
Run Code Online (Sandbox Code Playgroud)

而不是这个:

import * as firebase from "firebase"
Run Code Online (Sandbox Code Playgroud)

用这个:

import * as firebase from "firebase/app";
Run Code Online (Sandbox Code Playgroud)

来源: https: //firebase.google.com/docs/web/setup#node.js-apps

还有这个:

import firebase from 'firebase'
Run Code Online (Sandbox Code Playgroud)

对此:

import firebase from '../firebase'
Run Code Online (Sandbox Code Playgroud)

并删除@react-native-firebase库,因为它们不适用于世博会。


Bar*_*nar 7

我发现这是在 React.js 中使用的最好/最简单的方法,没有问题......你可以尝试像这样导入(“firebase”:“^ 9.6.1”,):

        import firebase from 'firebase/compat/app';
        import 'firebase/compat/auth';
        import 'firebase/compat/firestore';
Run Code Online (Sandbox Code Playgroud)

创建你的配置文件......

    const firebaseConfig = { your config data ...};
Run Code Online (Sandbox Code Playgroud)

然后你可以用这种方式使用它,而不会出现任何恼人的错误:

    const firebaseApp = firebase.initializeApp(firebaseConfig);

    const db = firebaseApp.firestore();

    const auth = firebase.auth();

    const provider = new firebase.auth.GoogleAuthProvider();
Run Code Online (Sandbox Code Playgroud)

我希望它可以帮助那些和我有同样问题的人