【问题标题】:Upgrading @angular/fire from 6.x to 7.x将@angular/fire 从 6.x 升级到 7.x
【发布时间】:2021-09-19 13:29:07
【问题描述】:

我正在尝试将我的应用程序依赖项和我的代码从 @angular/fire 6.x 升级到 7.1.0-rc4(因为我需要一个 7.0.x 中不存在的功能)所以我编辑了我的 @987654322 @与:

"@angular/fire": "~7.1.0-rc.4",
"firebase": "^9.0.0",

然后我将我的导入更改为:

import { AngularFirestore } from '@angular/fire';

import { AngularFirestore } from '@angular/fire/compat';

我的应用是 Ionic5/Angular12 应用,所以我假设它默认使用 Ivy。看着here,在我看来我已经完成了升级所需的一切。

但是我得到以下编译错误:

Module '"@angular/fire/compat"' has no exported member 'AngularFirestore'.ts(2305)
import AngularFirestore

这是我的app.module.ts 文件:

import { AngularFirestoreModule } from '@angular/fire/compat/firestore';
import { APP_INITIALIZER, NgModule, Optional, PLATFORM_ID } from '@angular/core';
import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { ServiceWorkerModule } from '@angular/service-worker';
import { RESPONSE } from '@nguniversal/express-engine/tokens';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ComponentsModule } from './components/components.module';
import { environment } from '../environments/environment';
import { ReactiveFormsModule } from '@angular/forms';

import { HttpClientModule, HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireAuthGuardModule } from '@angular/fire/compat/auth-guard/';

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

@NgModule({
  declarations: [AppComponent],
  imports: [
    AngularFireModule.initializeApp(environment.firebase),
    AngularFirestoreModule,
    AngularFireAuthGuardModule,
    BrowserModule.withServerTransition({ appId: 'serverApp' }),
    BrowserTransferStateModule,
    IonicModule.forRoot(),
    ReactiveFormsModule,
    AppRoutingModule,
    HttpClientModule,
    ComponentsModule,
    ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }),
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: (createTranslateLoader),
        deps: [HttpClient]
      }
    })
  ],
  providers: [
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    {
      provide: APP_INITIALIZER,
      deps: [PLATFORM_ID, [new Optional(), RESPONSE]],
      multi: true
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

我错过了什么?

【问题讨论】:

  • 请说明您如何将模块导入到您的项目中
  • 抱歉,除了我的问题中已经存在的importpackage.json sn-p 之外,我不明白应该显示什么。你能解释一下吗?
  • 您在其中初始化模块的应用模块
  • @Hydra 送给你

标签: angular typescript firebase google-cloud-firestore angularfire2


【解决方案1】:

原来import,在AngularFirestore的情况下,必须将7.1版更改为

import { AngularFirestore } from '@angular/fire/compat/firestore';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 2020-12-01
    • 2011-09-06
    • 2018-11-03
    • 1970-01-01
    • 2015-07-22
    • 2020-12-05
    相关资源
    最近更新 更多