[英]@firebase/database: Can't determine Firebase Database URL. Be sure to include a Project ID when calling firebase.initializeApp(). Angular
我正在创建实时聊天室我在第一次接近它时就成功了它一切正常但后来我需要处理其他任务,当我回到这个任务时,首先我得到一个错误,表明我可以初始化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 web 站点复制它们)
该行触发错误this.ref = firebase.database().ref('messages');
工作环境为 Angular 11
该错误表明它无法使用firebase 应用程序配置中的 databaseURL 值。
如果您需要再次获取您的 firebase 凭证,您可以通过常规设置页面找到它们。 确保提供的密钥遵循正确的格式,并将PROJECT_ID
替换为您自己的项目 ID
databaseURL: "https://PROJECT_ID.firebaseio.com"
此外,如果您在应用程序中使用混淆,请确保它不适用于这些凭据
因此,在挖掘问题后,它发现由于某些原因默认数据库不是我想要使用的数据库。 所以我最终得到了这段代码
firebase.app().delete().then(() => {
firebase.initializeApp({
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
});
console.log(firebase.apps)
this.ref = firebase.database().ref('rooms');
console.log(this.ref)
});
所以我只是删除了我不想要的默认数据库并初始化了我需要的数据库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.