簡體   English   中英

Firebase在AngularDart項目中引發錯誤

[英]Firebase throws error in an AngularDart project

在哪里可以找到AngularDart項目的Firebase(.firebaserc)文件。

項目連接時,Firebase會寫入以下文件。

Writing configuration info to firebase.json...
Writing project information to .firebaserc...

火力基地錯誤

(anonymous function)    Uncaught Unhandled exception:
EXCEPTION: Error in 
package:my_app/views/app_component/app_component.html:0:0
ORIGINAL EXCEPTION: NoSuchMethodError: Class 'String' has no instance method 
'_hasProperty'.
Receiver: "[DEFAULT]: Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app)."
Tried calling: _hasProperty("message")

它包含初始化firebase的代碼。 firebase_service.dart

import 'dart:async';
import 'package:angular/angular.dart';
import 'package:firebase/firebase.dart' as fb;

@Injectable()
class FirebaseService {
  fb.User user;
  fb.Auth _fbAuth;
  fb.GoogleAuthProvider _fbGoogleAuthProvider;

  FirebaseService() {
    fb.initializeApp(
        apiKey: "AIzaSyBOShlCgUeqTL99n32bjWdNlkH1111111",
        authDomain: "my-app.firebaseapp.com",
        databaseURL: "https://my-app.firebaseio.com",
        storageBucket: "my-app.appspot.com",
    );

    _fbGoogleAuthProvider = new fb.GoogleAuthProvider();
    _fbAuth = fb.auth();
    _fbAuth.onAuthStateChanged.listen(_authChanged);
  }

  void _authChanged(fb.User event) {
    user = event;
  }

  Future signIn() async {
    try {
      await _fbAuth.signInWithPopup(_fbGoogleAuthProvider);
    }
    catch (error) {
      print("$runtimeType::login() -- $error");
    }
  }

  void signOut() {
    _fbAuth.signOut();
  }
}

如果服務中的代碼僅應實例化一次,請確保僅提供一次服務。

在以下地區提供此類服務

bootstrap(AppComponent, [...])

@Component(
  ..., 
  providers: const [...])
}
class AppComponent {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM