«тип производительности» отсутствует в типе «FirebaseApp» - PullRequest
1 голос
/ 01 мая 2019

Я пытаюсь подключить firebase в своем приложении, но получаю ту же ошибку, я перепробовал много вещей, но ни одна из них не сработала. Прежде всего я установил FireBase и @ Angular / Fire

npm install firebase @angular/fire --save

После этого я изменил environment.ts на

export const environment = {
  production: false,
  firebase: {
    apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXX",
    authDomain: "XXXXXXXXXXXXXXXXXXXXXXXXXX",
    databaseURL: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    projectId: "XXXXXXXXXXXXXXXXXXXXXXXXXX",
    storageBucket: "XXXXXXXXXXXXXXXXXXXXXXXXX",
    messagingSenderId: "XXXXXXXXXXXXXXXXXXXX"
  }
};

как говорилось в документации. (Я поставил XX, но в реальной среде. Затем я изменил app.module.ts на

import { NgModule } from '@angular/core';
...
import { AngularFireModule } from '@angular/fire';
import { environment } from '../environments/environment';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,
  AngularFireModule.initializeApp(environment.firebase, 'guarnice')],
  providers: [
    StatusBar,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

и когда я запускаю код

ionic serve

У меня ошибка.

ОШИБКА в node_modules/@angular/fire/firebase.app.module.d.ts (17,22): ошибка TS2420: класс 'FirebaseApp' неправильно реализует интерфейс 'App'. Свойство 'performance' отсутствует в типе 'FirebaseApp'.

тогда я искал firebase.app.module.d.ts затем

import { InjectionToken } from '@angular/core';
import { app, auth, database, firestore, functions, messaging, storage } from 'firebase/app';
export declare type FirebaseOptions = {
    [key: string]: any;
};
export declare type FirebaseAppConfig = {
    [key: string]: any;
};
export declare const FirebaseOptionsToken: InjectionToken<FirebaseOptions>;
export declare const FirebaseNameOrConfigToken: InjectionToken<string | FirebaseAppConfig | undefined>;
export declare type FirebaseDatabase = database.Database;
export declare type FirebaseAuth = auth.Auth;
export declare type FirebaseMessaging = messaging.Messaging;
export declare type FirebaseStorage = storage.Storage;
export declare type FirebaseFirestore = firestore.Firestore;
export declare type FirebaseFunctions = functions.Functions;
export declare class FirebaseApp implements app.App {
    name: string;
    options: {};
    auth: () => FirebaseAuth;
    database: (databaseURL?: string) => FirebaseDatabase;
    messaging: () => FirebaseMessaging;
    storage: (storageBucket?: string) => FirebaseStorage;
    delete: () => Promise<void>;
    firestore: () => FirebaseFirestore;
    functions: (region?: string) => FirebaseFunctions;
}
export declare function _firebaseAppFactory(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppConfig | null): FirebaseApp;
export declare class AngularFireModule {
    static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppConfig): {
        ngModule: typeof AngularFireModule;
        providers: {
            provide: InjectionToken<string | FirebaseAppConfig | undefined>;
            useValue: string | FirebaseAppConfig | undefined;
        }[];
    };
}

Я не знаю, как мне это исправить ... Я видел маленькие подсказки в стеке потока и других сайтах, но ни один из них не работал.

это документация, за которой я следовал https://github.com/angular/angularfire2

Angular CLI: 7.3.8
Node: 10.15.3
OS: linux x64
Angular: 7.2.13
Ionic: 4.12.0

 Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.12.4
@angular-devkit/build-angular     0.13.8
@angular-devkit/build-optimizer   0.13.8
@angular-devkit/build-webpack     0.13.8
@angular-devkit/core              7.2.4
@angular-devkit/schematics        7.2.4
@angular/cli                      7.3.8
@angular/fire                     5.1.2
@ngtools/webpack                  7.3.8
@schematics/angular               7.3.8
@schematics/update                0.13.8
rxjs                              6.4.0
typescript                        3.1.6
webpack                           4.29.0

1 Ответ

3 голосов
/ 01 мая 2019

пожарный здесь

Обновление : эта проблема была исправлена ​​в AngularFire2 выпуск 5.1.3 . Обновитесь до этой версии, чтобы избавиться от проблемы.


Версия 5.11.0 Firebase SDK для JavaScript, представила изменение, вызвавшее сбой AngularFire2. Команда AngularFire2 создала исправление в выпуске 5.1.3. В качестве альтернативы вы можете придерживаться v5.10.1 Firebase JavaScript SDK, чтобы избежать конфликта.

Эта проблема отслеживается в репозитории AngularFire2, поэтому, пожалуйста, проверьте последнюю информацию здесь: https://github.com/angular/angularfire2/issues/2059.

...