反应中的firebase出口问题[重复]

Posted

技术标签:

【中文标题】反应中的firebase出口问题[重复]【英文标题】:firebase export issue in react [duplicate] 【发布时间】:2018-04-03 21:32:38 【问题描述】:

我有一个名为firebase.js 的文件。 它包含以下代码:

import * as firebase from 'firebase';

const config = 
    apiKey: "some_random_key",
    authDomain: "some_random_authDomain",
    databaseURL: "some_random_databaseURL",
    projectId: "some_random_projectId",
    storageBucket: "some_random_bucket",
    messagingSenderId: "some_random_Id"
;

export const firebaseApp = firebase.initializeApp(config);

现在我将其导入到我的index.js React 文件中,如下所示;

import firebaseApp from './firebase'

这给了我以下错误:

./src/index.js
13:0-11 "export 'default' (imported as 'firebaseApp') was not found in './firebase'

如果我将导入语句更改为:

import firebaseApp from './firebase'

它工作正常。 我知道这与 javascript 有关,但请您在这里解释一下这个概念。

【问题讨论】:

【参考方案1】:

您正在从firebase.js 导出named export fireBase。这意味着您必须使用大括号语法来指定导出的名称。

要导出default export,请使用

export default firebase.initializeApp(config)
// or if you prefer to assign the result to a variable before exporting
const firebaseApp = firebase.initializeApp(config)
export default firebaseApp

这允许您导入您的默认导出并按您的意愿命名,例如import firebaseApp from './firebase'import foo from './firebaseApp

【讨论】:

如果我使用 export default firebaseApp = firebase.initializeApp(config);我收到未定义 firebaseApp 的错误 哦..好的,现在我明白了,你初始化它然后导出它。 可以这样用吗,export default const firebaseApp = firebase.initializeApp(config); ?? 您不能将该语法用于默认导出,但可以用于命名导出。您不必将值分配给变量,因为您没有在导出中使用该值,这就是 export default firebase.initializeApp(config) 起作用的原因 当我尝试获取对数据库 firebaseApp.database.child('contacts') 的引用时,出现以下错误。TypeError: undefined is not an object (evaluate '_firebase__WEBPACK_IMPORTED_MODULE_3__["default"].数据库.child')

以上是关于反应中的firebase出口问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ld:在 Xcode 中找不到 -lFirebaseCore 的库反应原生

多目标应用程序中的 Firebase 初始化

Firebase 云函数中的 Object.values()

从 ArrayList 中的 Firebase 检索数据以获取图形

删除firebase中的auth用户反应本机

iOS中的Firebase注册错误通过本机反应