Javascript 为什么我会出错;firebase.database不是一个函数";?

Javascript 为什么我会出错;firebase.database不是一个函数";?,javascript,angularjs,firebase,firebase-realtime-database,Javascript,Angularjs,Firebase,Firebase Realtime Database,我试图学习如何与angularjs聊天,为此我发现这个网站尝试了代码,但很旧。我试图更新它,但我卡住了。 html文件中的头有: <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.8/angular.min.js"> </script> <script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-app.js">

我试图学习如何与angularjs聊天,为此我发现这个网站尝试了代码,但很旧。我试图更新它,但我卡住了。
html文件中的头有:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.8/angular.min.js">
</script>
<script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-firestore.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angularFire/2.3.0/angularfire.min.js"></script>
<script src="js/script.js"></script>
在控制台中出现错误:

TypeError: firebase.database is not a function
at pen.js:28
at ChatCtrl (pen.js:43)
at Object.invoke (angular.js:5141)
at S.instance (angular.js:11704)
at p (angular.js:10517)
at g (angular.js:9832)
at g (angular.js:9835)
at angular.js:9697
at angular.js:1965
at m.$eval (angular.js:19393)
如何修复它

我尝试在html文件中添加脚本,但也出现错误:

Error: "permission_denied at /: Client doesn't have permission to access the desired data."
e https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onComplete https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
startListening https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
sendListen_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
connReceiver_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wt https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
n https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
handleResponse https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
scriptTagHolder https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCB https://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-ad582:6
<anonymous> https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=eyJ0IjoiZCIsImQiOnsiciI6MiwiYSI6InEiLCJiIjp7InAiOiIvIiwiaCI6IiJ9fX0.:1
angular.min.js:127:303
Error: "permission_denied at /: Client doesn't have permission to access the desired data."
e https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onComplete https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
startListening https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
sendListen_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
connReceiver_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wt https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
n https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
handleResponse https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
scriptTagHolder https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCB https://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-ad582:6
<anonymous> https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=eyJ0IjoiZCIsImQiOnsiciI6MiwiYSI6InEiLCJiIjp7InAiOiIvIiwiaCI6IiJ9fX0.:1
 Possibly unhandled rejection: {"code":"PERMISSION_DENIED"}
错误:“权限\在/被拒绝:客户端没有访问所需数据的权限。”
Ehttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
未完成https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
惊人的倾听https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
森迪欧https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
翁达图https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
翁达图https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived\uhttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
康努https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Thttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wthttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Thttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Nhttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
HandlerResponsehttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
脚本标签持有者https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCBhttps://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-公元582:6
https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=EYJ0IJOIZCISIMQIONSICII6MIWIYSI6INEILCJIIJP7INAIOIIIVIIWIACI6IIJ9FX0.:1
angular.min.js:127:303
错误:“权限\在/被拒绝:客户端没有访问所需数据的权限。”
Ehttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
未完成https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
惊人的倾听https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
森迪欧https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
翁达图https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
翁达图https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived\uhttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
康努https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Thttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wthttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Thttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
Nhttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
HandlerResponsehttps://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
脚本标签持有者https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCBhttps://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-公元582:6
https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=EYJ0IJOIZCISIMQIONSICII6MIWIYSI6INEILCJIIJP7INAIOIIIVIIWIACI6IIJ9FX0.:1
可能未经处理的拒绝:{“代码”:“权限被拒绝”}

在firebase上转到应用程序控制台下一步转到数据库并创建实时数据库(过去它是自动创建的,现在必须手动创建)

您的代码笔包含敏感的API密钥数据。请将其编辑出来,并将代码的相关部分粘贴到您的问题中。您已经知道第一个错误的答案(添加该javascript文件)。对于第二个错误,您还需要共享您的安全规则。更一般地说,您应该在问题正文中共享代码的相关部分,而不是使用与codepen等外部网站的链接,因为外部链接可能会失效,对未来的读者没有用处。可能与您的第二个错误有关:
Error: "permission_denied at /: Client doesn't have permission to access the desired data."
e https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onComplete https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
startListening https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
sendListen_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
connReceiver_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wt https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
n https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
handleResponse https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
scriptTagHolder https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCB https://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-ad582:6
<anonymous> https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=eyJ0IjoiZCIsImQiOnsiciI6MiwiYSI6InEiLCJiIjp7InAiOiIvIiwiaCI6IiJ9fX0.:1
angular.min.js:127:303
Error: "permission_denied at /: Client doesn't have permission to access the desired data."
e https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onComplete https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
startListening https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
sendListen_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onDataMessage_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
onPrimaryMessageReceived_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
connReceiver_ https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
wt https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
t https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
n https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
handleResponse https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
scriptTagHolder https://www.gstatic.com/firebasejs/7.2.3/firebase-database.js:1
pRTLPCB https://s-usc1c-nss-209.firebaseio.com/.lp?start=t&ser=25217500&cb=1&v=5&ns=chatbot-ad582:6
<anonymous> https://s-usc1c-nss-209.firebaseio.com/.lp?id=11085377&pw=DjtoYaTDIL&ser=5478690&ns=chatbot-ad582&seg0=1&ts0=1&d0=eyJ0IjoiZCIsImQiOnsiciI6MiwiYSI6InEiLCJiIjp7InAiOiIvIiwiaCI6IiJ9fX0.:1
 Possibly unhandled rejection: {"code":"PERMISSION_DENIED"}