[Ionic4] [Angular] [PWA] Ошибка "Object (...) (...). Auth не является функцией" When Build --prod - PullRequest
0 голосов
/ 21 февраля 2020

enter image description here

Моя среда

  • Версия операционной системы: Windows 10 Pro
  • Версия браузера: версия 80.0. 3987.87 (Официальная сборка) (64-разрядная версия)
  • Версия Firebase SDK: "firebase": "^ 7.8.2"
  • Продукт Firebase: auth
  • Ioni c Версия: Ioni c 4

Проблема:

Шаги для воспроизведения:
  • Сначала мои приложения работают, если сборка без флага --prod, затем ошибка произошло, если --prod build
  • С --prod build другая страница в порядке, но ошибка возникает, когда я пытаюсь открыть страницу входа в систему
  • Я уже делаю решение здесь Выпуск 1696
  • И здесь тоже Выпуск 1240
Соответствующий код:
  • Мой app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { HttpClientModule } from '@angular/common/http';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { APIServiceService } from './services/apiservice.service';
import { AngularFireModule } from '@angular/fire';
import { AngularFireAuth } from '@angular/fire/auth';
import { environment } from '../environments/environment';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [
    BrowserModule,
    HttpClientModule,
    IonicModule.forRoot(),
    AppRoutingModule,
    AngularFireModule.initializeApp(environment.firebaseConfig)
  ],
  providers: [
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    APIServiceService,
    AngularFireAuth
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

  • login.page.ts
import { Component} from '@angular/core';
import { Router } from '@angular/router';
import { AngularFireAuth } from '@angular/fire/auth';
import { auth } from 'firebase/app';

@Component({
  selector: 'app-login',
  templateUrl: './login.page.html',
  styleUrls: ['./login.page.scss'],
})
export class LoginPage implements OnInit {

  public email: string;

  constructor(
    private router: Router,
    private fireAuth: AngularFireAuth
  ) { }

  async googleAuth() {
    try {
      const result = await this.fireAuth.auth.signInWithPopup(new auth.GoogleAuthProvider());
      this.email = result.user.email;
    } catch(error) {
        console.log(error)
    }
}
  • пакет. json (зависимости)
"dependencies": {
    "@angular/common": "~8.1.2",
    "@angular/core": "~8.1.2",
    "@angular/fire": "^5.4.2",
    "@angular/forms": "~8.1.2",
    "@angular/platform-browser": "~8.1.2",
    "@angular/platform-browser-dynamic": "~8.1.2",
    "@angular/router": "~8.1.2",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.7.1",
    "core-js": "^2.5.4",
    "firebase": "^7.8.2",
    "moment": "^2.24.0",
    "rxjs": "~6.5.1",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...