Attempted import error: 'app' is not exported from 'firebase/app' (imported as 'firebase')
Attempted import error: 'app' is not exported from 'firebase/app' (imported as 'firebase')
遇到一个很奇怪的问题。尝试导入 firebase 时,出现以下错误:
./node_modules/firebaseui/dist/esm.js
Attempted import error: 'app' is not exported from 'firebase/app' (imported as 'firebase').
我的项目结构是:包含 React 客户端文件夹的父文件夹。我在父文件夹下安装了firebase,在父文件夹的firebaseConfig文件中初始化一个firebase app,然后导入到react client文件夹中。
我后来尝试在 react 客户端文件夹中安装 firebase 并在其中导入 firebase。奇怪的是,在我在客户端文件夹中安装 firebase 后,在客户端文件夹 returns 中执行“npm ls firebase”为空,即使 firebase 确实在节点模块中并且 package.json 在客户端文件夹中。我想知道是什么导致了这个问题。
firebaseConfig.js 在父文件夹中
import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';
const firebaseConfig = {
......
};
firebase.initializeApp(firebaseConfig);
export default firebase;
很遗憾,您已将“firebase”依赖项升级到 8.0.0,但“firebaseui”依赖项尚不支持它。在 firebaseui 支持 breaking changes in 8.0.0.
之前,您必须暂时将 firebase 降级到版本 7.24.0
这是一个更新问题,虽然您可以修复导入 firebase 的方式,但无法修复它在您使用的库中的导入方式,您将不得不等待这些库更新。
8.0.0 之前
import * as firebase from 'firebase/app'
8.0.0 之后
import firebase from 'firebase/app'
库类似于 FirebaseUI 身份验证
我使用的 Firebase 版本 Firebase>8.0.0
我使用的代码行 import * as firebase from 'firebase/app';
此导入适用于 Firebase<8.0.0
如果您从现在(2021 年 8 月 4 日)开始使用 firebase>8.0.0,请去使用这个 import firebase from 'firebase/app';
,以后的版本可能会发生变化。
这是因为你使用了错误的代码行,系统没有问题。
去检查项目文件夹中的package.json文件。
在此处查看package.json
Checking firebase version on package.json file
我安装firebase时默认安装的是9.0.0版本。我看到了提到的错误,但是当我将其更改为 8.9.1 并按如下方式导入时,它对我有用。
import firebase from 'firebase/app'
首先确定你的firebase版本:
firebase --version
如果您使用的是版本 9,请替换此行
import firebase from "firebase/app"
和
import firebase from 'firebase/compat/app'
遇到一个很奇怪的问题。尝试导入 firebase 时,出现以下错误:
./node_modules/firebaseui/dist/esm.js
Attempted import error: 'app' is not exported from 'firebase/app' (imported as 'firebase').
我的项目结构是:包含 React 客户端文件夹的父文件夹。我在父文件夹下安装了firebase,在父文件夹的firebaseConfig文件中初始化一个firebase app,然后导入到react client文件夹中。
我后来尝试在 react 客户端文件夹中安装 firebase 并在其中导入 firebase。奇怪的是,在我在客户端文件夹中安装 firebase 后,在客户端文件夹 returns 中执行“npm ls firebase”为空,即使 firebase 确实在节点模块中并且 package.json 在客户端文件夹中。我想知道是什么导致了这个问题。
firebaseConfig.js 在父文件夹中
import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';
const firebaseConfig = {
......
};
firebase.initializeApp(firebaseConfig);
export default firebase;
很遗憾,您已将“firebase”依赖项升级到 8.0.0,但“firebaseui”依赖项尚不支持它。在 firebaseui 支持 breaking changes in 8.0.0.
之前,您必须暂时将 firebase 降级到版本 7.24.0这是一个更新问题,虽然您可以修复导入 firebase 的方式,但无法修复它在您使用的库中的导入方式,您将不得不等待这些库更新。
8.0.0 之前
import * as firebase from 'firebase/app'
8.0.0 之后
import firebase from 'firebase/app'
库类似于 FirebaseUI 身份验证
我使用的 Firebase 版本 Firebase>8.0.0
我使用的代码行 import * as firebase from 'firebase/app';
此导入适用于 Firebase<8.0.0
如果您从现在(2021 年 8 月 4 日)开始使用 firebase>8.0.0,请去使用这个 import firebase from 'firebase/app';
,以后的版本可能会发生变化。
这是因为你使用了错误的代码行,系统没有问题。
去检查项目文件夹中的package.json文件。
在此处查看package.json
Checking firebase version on package.json file
我安装firebase时默认安装的是9.0.0版本。我看到了提到的错误,但是当我将其更改为 8.9.1 并按如下方式导入时,它对我有用。
import firebase from 'firebase/app'
首先确定你的firebase版本:
firebase --version
如果您使用的是版本 9,请替换此行
import firebase from "firebase/app"
和
import firebase from 'firebase/compat/app'