我在我的 Angular 项目中设置 Firebase 函数有点困难。
我正在尝试执行以下操作:
const callable = this.fns.httpsCallable('getLandingPageText');
console.log(callable);
callable(({ params }))
.subscribe((result: any) => console.log(result));
所以结果是:
ERROR TypeError: app.functions is not a function
at angular-fire-compat-functions.js:32:29
我已经在app.module中初始化了我的firebaseApp,并且还导入了AngularFireFunctionsModule,就像你在这里看到的那样:
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
CommonModule,
AngularFireModule.initializeApp(firebaseConfig),
AngularFireAuthModule,
AngularFireFunctionsModule,
MainToolModule,
AppRoutingModule,
],
providers: [AuthService],
bootstrap: [AppComponent],
})
export class AppModule {}
模块是从
@angular/fire/compat
导入的,使用 httpsCallable 的服务位于 MainToolModule 中。
到目前为止,我对 FireAuth / 数据库模块等其他模块没有任何问题(在工具模块本身中使用它)。
有人有想法吗?
编辑:
this.fns
来自服务中的构造函数:
constructor(private fns: AngularFireFunctions) {}
进口自
import { AngularFireFunctions } from '@angular/fire/compat/functions';
我通过更新我的@angular/fire npm 包解决了这个问题。
对于 Angular 版本 16,您必须安装 @angular/fire 版本 16。