我已从 Firebase 8 升级到 Firebase 9(模块化 Web 版本),并遇到了 Typescript 编译器问题。升级过程描述如下:
https://firebase.google.com/docs/web/modular-upgrade
以前,Firebase 是这样导入和初始化的:
import app from 'firebase/app';
const firebaseApp: firebase.app.App = firebase.initializeApp(options);
在 Firebase 9 中,建议的方法是
import { initializeApp } from "firebase/app"
const firebaseApp = initializeApp({ /* config */ });
我想像以前一样给 const firebaseApp 一个输入。我该怎么做?
我还遇到了许多由 Typescript 编译器生成的奇怪的输入错误,而 Firebase 8 不会出现这种情况。
node_modules/@firebase/auth/dist/auth-exp-public.d.ts:1097:47 - 错误 TS2748:提供“--isolatedModules”标志时无法访问环境常量枚举。
1097 静态只读 FACEBOOK_SIGN_IN_METHOD = SignInMethod.FACEBOOK; ~~~~~~~~~~~~ 我该如何摆脱这些?我删除了node_modules/@firebase并重新安装了firebase 9,但没有什么区别。
最佳答案
对于FACEBOOK_SIGN_IN_METHOD错误,我认为您需要在此处附加一些代码以供我们调试。 Firebsae 在如何需要功能方面发生了巨大的变化,例如getAuth()
而不是 firebaseApp.auth
//v9
import { initializeApp, FirebaseApp } from "firebase/app"
import { getAuth } from "firebase/auth";
const firebaseApp: FirebaseApp = initializeApp({ /* config */ });
const auth = getAuth(firebaseApp)
//v8
import firebase from 'firebase/app';
const firebaseApp: firebase.app.App = firebase.initializeApp({});
firebaseApp.auth
关于Typescript 和 Firebase 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67532476/