![](/img/trans.png)
[英]angulardart firestore throw error “firebase.firestore is not a function”
[英]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.