【问题标题】:Firebase 9 - Export 'initializeApp' was not found in 'firebase/app'Firebase 9 - 在“firebase/app”中找不到导出“initializeApp”
【发布时间】:2021-09-14 04:46:36
【问题描述】:

升级到 firebase 9 后,我在导入一些以前在 firebase 8 上工作的函数时遇到了麻烦。当然,我阅读了文档并重构了代码,但是这个错误不断弹出,其他导入也会发生这种情况。

我的导入看起来像这样

import { initializeApp } from 'firebase/app'
import { getDatabase } from 'firebase/database'
import { getAuth, signInWithCustomToken, onAuthStateChanged } from 'firebase/auth'

我得到的错误是:

在“firebase/app”中找不到导出“initializeApp”


我也尝试过使用兼容库

import { initializeApp } from 'firebase/compat/app'
import { getDatabase } from 'firebase/compat/database'
import { getAuth, signInWithCustomToken, onAuthStateChanged } from 'firebase/compat/auth'

但我还是得到了

警告“在‘firebase/compat/app’中找不到导出‘initializeApp’

这也发生在我的其他导入中。

有什么帮助吗?

【问题讨论】:

  • 正如 Dharmaraj 在下面解释的那样,第二条错误消息是预期的。在第一种情况下,导入看起来不错。您能否展示您如何为第一个示例添加 SDK 依赖项?
  • 嗨,您知道为什么第一种方法不起作用吗?

标签: javascript firebase


【解决方案1】:

compat 版本使用 V8 名称空间语法,不需要像较新的模块化/函数式语法那样为每个函数单独导入:

import firebase from 'firebase/compat/app'
import 'firebase/compat/database'
import 'firebase/compat/auth'

// import { getAuth } from 'firebase/auth' <-- Modular version only

如果您使用的是compat 版本,请确保您遵循文档中的namespaced 版本选项卡:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-06
    • 2021-10-25
    • 1970-01-01
    • 2021-06-27
    • 2022-01-22
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多