找不到模块:无法解析“firebase”

Posted

技术标签:

【中文标题】找不到模块:无法解析“firebase”【英文标题】:Module not found: Can't resolve 'firebase' in 【发布时间】:2021-11-01 18:13:34 【问题描述】:

之后:npm i firebase

我正在从 firebase 本身而不是从文件中导入 firebase

从“firebase”导入 firebase; >在 firebase.js 文件中

终端错误>> ./src/firebase.js 未找到模块:无法解析“C:\Users\Home\Documents\dsn\e\Documents....”中的“firebase”

【问题讨论】:

尝试使用import firebase from 'firebase/app'; 导入firebase,并根据需要导入相关的firebase modules。 它不起作用。它会说特定文件夹中没有默认导出。 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

npm i firebase 现在安装 v9 Modular SDK,因此您不能使用旧的导入。尝试将您的代码重构为:

import  initializeApp  from 'firebase/app';

const firebaseConfig = 
  //...
;

const app = initializeApp(firebaseConfig);

如果您想使用旧语法,请将导入更改为兼容库:

import firebase from "firebase/compat/app"
import "firebase/compat/auth"
import "firebase/compat/firestore"
// other services is needed

您可以在documentation了解更多信息

【讨论】:

我已经更新到 v9 并且“firebase/compact/app”确实对我有用。✔【参考方案2】:

没有理由降级到版本 8,因为如果您在模块导入路径前加上“compat”前缀,版本 9 会提供完全向后兼容的导入。

使用方法:

import firebase from "firebase/compat/app";
// Other libraries might need to also be prefixed with "compat":
import "firebase/compat/auth";

// Then you can then use the old interface, with version 9:
if (!firebase.apps.length) 
  firebase.initializeApp(clientCredentials);

升级说明:https://firebase.google.com/docs/web/modular-upgrade

【讨论】:

【参考方案3】:

initializeApp 已移至最新版本的 firebase/app 包 所以从 firebase/app 导入。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于找不到模块:无法解析“firebase”的主要内容,如果未能解决你的问题,请参考以下文章

找不到模块:错误:无法解析模块“fs”

找不到 React 模块:无法解析 '../utils/api'

找不到模块:无法解析“./reducers/index”

找不到模块:错误:无法解析模块“路由”

React 编译失败。找不到模块:无法解析“Main.css”

找不到模块:无法解析“./pages”编译失败