firebase.auth() 在打字稿中显示错误

Noo*_*ewb 1 typescript firebase-authentication

我正在尝试使用 Firebase 和 TypeScript 开发一个具有身份验证的应用程序,但在调用 .auth 函数时发现错误。

悬停时显示的错误是:

类型“typeof import("e:/Projects/spectrum-test/node_modules/firebase/app/dist/app/index")'.ts(2339) 上不存在属性“auth”

这行 ( export const auth = firebase.auth();) 在 JS 中可以正常工作,但由于某种原因 TS 不喜欢它;

firebase.ts

import firebase from 'firebase/app';
import 'firebase/auth';

const firebaseConfig = {
    apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
    authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
    projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
    storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
    messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
    appId: process.env.REACT_APP_FIREBASE_APP_ID
}

firebase.initializeApp(firebaseConfig);
export const auth = firebase.auth();
Run Code Online (Sandbox Code Playgroud)

我已经安装了@firebase/auth-types@0.11.0,但没有解决问题

任何帮助表示赞赏。

Fra*_*len 7

对于 JavaScript SDK 9.0 及更高版本,Firebase 已切换为使用模块化/函数式语法。如果您想继续使用以前的语法,则必须从文档compat中所示的路径导入库:

// v9 compat packages are API compatible with v8 code
import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';
Run Code Online (Sandbox Code Playgroud)