我正在使用 Create React App 构建一个 Reactjs 应用程序,它使用 Firebase 的 auth 和 firestore 服务。我有一个加载 firesbase 服务的module:
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 App 的npm start
脚本,该脚本使用其 webpack 配置来编译应用程序。在 firebase 升级之后,我的应用程序立即显示编译错误“TypeError: firebase.auth is not a function”,突出显示了我export const fbAuth = firebase.auth();
的代码行。
如果我将 firebase-js-sdk 版本降级到 7.19.1,我的应用程序可以毫无问题地编译和运行。
这是最新的 firebase 软件包中的错误吗?或者升级是否暴露了 Create React App 的 webpack 配置中的一个怪癖?还是我的代码很奇怪?有人知道这里发生了什么吗?