所以,我有一些 Firebase 函数和端点,我想从我的角度前端发送请求。端点之一通过 createCustomToken 创建自定义令牌并将其返回到前端。然后从前端我想使用signInWithCustomToken方法来验证令牌。问题是我收到此错误:
AngularFireModule has not been provided in your AppModule (this can be done manually or
implictly using provideFirebaseApp) or you're calling an AngularFire method outside of
an NgModule (which is not supported).
我根本搞不懂,我的app.config.ts是这样的:
import { ApplicationConfig, importProvidersFrom } from '@angular/core';
import { provideRouter } from '@angular/router';
import { DatePipe } from '@angular/common';
import { routes } from './app.routes';
import { provideClientHydration } from '@angular/platform-browser';
import { initializeApp, provideFirebaseApp } from '@angular/fire/app';
import { getFirestore, provideFirestore } from '@angular/fire/firestore';
import { provideAuth, getAuth } from '@angular/fire/auth';
import { getStorage, provideStorage } from '@angular/fire/storage';
import { firebaseConfig } from '../../firebase.config';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideHttpClient } from '@angular/common/http';
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes),
provideClientHydration(),
importProvidersFrom(
provideFirebaseApp(
() => initializeApp(firebaseConfig)
), provideFirestore(
() => getFirestore()
), provideStorage(
() => getStorage()
), provideAuth(
() => getAuth()
)),
provideAnimations(),
provideHttpClient(),
DatePipe
],
};
我正在尝试调用前端服务文件中的方法,如下所示:
import { getAuth, signInWithCustomToken } from "@angular/fire/auth";
// rest of component...
signInWithCustomToken(getAuth(), this.getToken())
使用provideFirebaseApp时无需添加importProvider。
从下面的代码中删除 importProvider 并尝试:
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes),
provideClientHydration(),
provideFirebaseApp(
() => initializeApp(firebaseConfig)
),
provideFirestore(
() => getFirestore()
),
provideStorage(
() => getStorage()
),
provideAuth(
() => getAuth()
),
provideAnimations(),
provideHttpClient(),
DatePipe
],
};