我在我的angular 7项目中哪里添加firebase.initializeApp()?

时间:2019-04-25 14:44:21

标签: angular firebase angular7

我正在尝试将我的角度应用程序部署到Firebase托管,并且在控制台中收到以下错误: Firebase.initializeApp未提供未捕获的FirebaseError:“ projectId”。

我的app.module.ts中有这个:

export class AppModule {
  constructor(private afs: AngularFirestore) {
    afs.firestore.settings({
     timestampsInSnapshots: true,
   });
   afs.firestore.enablePersistence();
   firebase.initializeApp(environment.firebase);
 }
}

我应该在哪里在app.module中添加initializeApp命令?

2 个答案:

答案 0 :(得分:1)

有很多方法。要在最顶层对其进行初始化,请按以下步骤进行操作

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    firebase.initializeApp(environment.firebase)
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

答案 1 :(得分:0)

通过documentation,它应该在放置配置之后。

// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
  apiKey: "<API_KEY>",
  authDomain: "<PROJECT_ID>.firebaseapp.com",
  databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
  storageBucket: "<BUCKET>.appspot.com",
};
firebase.initializeApp(config);

但是Angular从environment开始使用它,因此您可以将其放在第一个起点上。

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    firebase.initializeApp(environment.firebase)
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

如果您使用的是angularfire2

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';

import { AppComponent } from './app.component';
import { environment } from '../environments/environment';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        AngularFireModule.initializeApp(environment.firebase, 'fcc-book-trading'),
        AngularFireDatabaseModule
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }