自 Firebase-js-sdk v7.20.0 发布之日起出现错误"TypeError: firebase.auth is not a function"



我正在使用Create React app构建一个Reactjs应用程序,该应用程序使用Firebase的auth和firestore服务。我有一个加载firesbase服务的模块:

var firebase = require('firebase/app');
require('firebase/auth');
require('firebase/firestore');
require('firebase/performance');
if (firebase.apps.length < 1) {
firebase.initializeApp({
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "..."
});
}
export const fbAuth = firebase.auth();
export const db = firebase.firestore();
export default firebase;

这段代码一直有效,直到昨天我将firebase包从v7.19.1升级到v7.20.0。

我正在运行Create React应用程序的npm start脚本,该脚本使用其webpack配置来编译该应用程序。firebase升级后,我的应用程序立即显示编译错误";TypeError:firebase.auth不是一个函数"突出显示我的export const fbAuth = firebase.auth();代码行。

如果我将firebasejs-sdk版本降级到7.19.1,我的应用程序编译和运行都没有问题。

这是最新firebase软件包中的一个错误吗?还是升级暴露了Create React App的webpack配置中的一个怪癖?还是我的代码很奇怪?有人知道这里发生了什么吗?

我使用相同的代码创建了其他一些简单的项目,并且工作正常。考虑到这个问题可能是由其他依赖项引起的,我考虑了一下它们的安装版本,删除了node_modules,然后运行npm install进行新的安装。很长一段时间,什么都不起作用,然后,突然间,我的应用程序开始工作了。我解开了我为找出问题而做的最后一次更改。。。却发现我甚至无法再重现这个问题!WTF?也许是我的命令shell环境中有什么不稳定的东西?不确定。我想偶尔重新启动是值得的。

试试这个👉从";"火球";

只有当您安装了firebase工具时,这才有效。

最新更新