Firebase AngularFireAuth 和 Auth 有什么区别?

Kni*_*d33 4 authentication import firebase firebase-authentication angular

有两种导入身份验证的方式。

第一个是

import { AngularFireAuth } from '@angular/fire/compat/auth';
Run Code Online (Sandbox Code Playgroud)

第二个是

import { Auth } from '@angular/fire/auth';
Run Code Online (Sandbox Code Playgroud)

有什么不同?

Fra*_*len 5

Firebase在 2021 年中期对其 JavaScript API 进行了重大改革,以允许在构建过程(称为“tree-shaking”的过程)期间删除 SDK 中未使用的代码。在这些新的 SDK 中,他们还引入了一条compat路径,该路径使用新的 SDK 但使用旧的语法(并且也无法删除未使用的代码)。

AngularFire 中的路径compat使用v9 JavaScript SDK 的兼容层。

来自 AngularFire文档

AngularFire 有一个新的可树摇动的 API,但是它仍在积极开发中,并且文档正在编写中,因此我们建议大多数开发人员暂时坚持使用 [兼容性] API。有关详细信息,请参阅v7 升级指南。

因此,目前建议使用compatAngularFire 模式,这意味着它确实可以与 JavaSCript SDK 的 v9 版本一起运行,但无法在您使用的 AngularFire 模块中获得树共享的好处。从功能角度来说,两者应该是相同的。