Web App Console错误:firebase-auth.js:1未捕获错误:无法实例化firebase-auth - 请务必先加载firebase-app.js

问题描述 投票:1回答:1

我在Firebase中创建了一个Web应用程序项目。并添加了所有Firebase配置脚本,包括为项目提供的api密钥。我想使用firebase将Google登录集成到网络应用中,并且我已按照Firebase文档提供的文档进行操作。但谷歌登录按钮无法正常工作,一旦我加载index.html,它就会在控制台上抛出这些错误。我已经尝试了所有方法来消除这些错误,但我找不到任何解决方案。请帮忙!

Firebase Web App Error

错误:

Cannot instantiate firebase-auth - be sure to load firebase-app.js first. 
Cannot instantiate firebase-database - be sure to load firebase-app.js first.
Cannot instantiate firebase-messaging- be sure to load firebase-app.js first. 
Cannot instantiate firebase-functions - be sure to load firebase-app.js first. 

EDIT1

码:

<!-- Firebase App is always required and must be first -->
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-app.js"></script>

<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase.js"></script>

<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-functions.js"></script>


<script>
  // Initialize Firebase
  var config = {
  apiKey: "************",
  authDomain: "*******.firebaseapp.com",
  databaseURL: "https://******.firebaseio.com",
  projectId: "**********",
  storageBucket: "****.appspot.com",
  messagingSenderId: "*************"
  };
  firebase.initializeApp(config);
</script>


<!-- Gmail Login Code START -->


<div style="text-align:center;">
  <button onclick = "googleSignin()">Google Signin</button>
  <button onclick = "googleSignout()">Google Signout</button>
</div>

<script>
var provider = new firebase.auth.GoogleAuthProvider();

function googleSignin() {
  firebase.auth().signInWithPopup(provider).then(function(result) {
    // This gives you a Google Access Token. You can use it to access the Google API.
    var token = result.credential.accessToken;
    // The signed-in user info.
    var user = result.user;
    // ...
  }).catch(function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
    // The email of the user's account used.
    var email = error.email;
    // The firebase.auth.AuthCredential type that was used.
    var credential = error.credential;
    // ...
  });
}

function googleSignout() {
  firebase.auth().signOut().then(function() {
    // Sign-out successful.
  }).catch(function(error) {
    // An error happened.
  });
}

</script>

<!-- Gmail Login Code END -->
javascript firebase web-applications instantiation web-application-project
1个回答
0
投票

根据我的经验,对于Firebase身份验证,您需要以下3个脚本:

<script src="https://www.gstatic.com/firebasejs/5.0.4/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.0.4/firebase-auth.js"></script>
<script src="https://cdn.firebase.com/libs/firebaseui/3.0.0/firebaseui.js"></script>

Firebase UI Reference

© www.soinside.com 2019 - 2024. All rights reserved.