【发布时间】:2021-08-15 17:22:48
【问题描述】:
我正在创建实时聊天室 当我第一次接近它时,我成功了 但是后来我需要处理其他任务,当我回到这个任务时,首先我得到了一个错误,指出我可以两次初始化 firebase,当我修复这个时,我得到了这个错误
chatroom.component.ts
import firebase from 'firebase/app';
import "firebase/database";
import { AuthService } from 'src/app/services/auth.service';
@Component({
selector: 'app-chatroom',
templateUrl: './chatroom.component.html',
styleUrls: ['./chatroom.component.sass']
})
export class ChatroomComponent implements OnInit {
items!: object;
message: string = '';
ref: any;
constructor(
private profileService: AuthService
) {
console.log(firebase.apps)
if (!firebase.apps.length) {
firebase.initializeApp({
apiKey: "blablabla",
authDomain: "blablabla",
databaseURL: "blablabla",
projectId: "blablabla",
storageBucket: "blablabla",
messagingSenderId: "blablabla",
appId: "blablabla"
});
}else {
firebase.app();
}
this.ref = firebase.database().ref('messages');
this.ref.on("value", (snapshot: any) => {
console.log(snapshot.val());
this.items = snapshot.val();
});
}
ngOnInit(): void {
}
establishRoom(): void {
}
onSend(): void{
this.ref.push().set({
content: this.message,
});
}
}
多次检查配置内容的拼写(基本上我是从 Firebase 网站复制的)
错误在该行触发this.ref = firebase.database().ref('messages');
工作环境是 Angular 11
【问题讨论】:
-
是 if (!firebase.apps.length) {} 解析并运行 firebase.initializeApp() 方法吗?还是它正在运行 firebase.app() 并在没有 databaseURL 或信息的情况下在其他地方初始化?
标签: javascript angular firebase firebase-realtime-database