Javascript Web应用程序控制台错误:firebase auth.js:1未捕获错误:无法实例化firebase auth-请确保先加载firebase-App.js

Javascript Web应用程序控制台错误:firebase auth.js:1未捕获错误:无法实例化firebase auth-请确保先加载firebase-App.js,javascript,firebase,web-applications,instantiation,web-application-project,Javascript,Firebase,Web Applications,Instantiation,Web Application Project,我已经在Firebase中创建了一个web应用程序项目。并添加了所有Firebase配置脚本,包括为项目提供的api键。我想使用firebase集成Google登录web应用程序,我已经阅读了firebase文档提供的文档。但Google登录按钮不起作用,我一加载index.html,它就会在控制台上抛出这些错误。我已经尝试了所有的方法来消除这些错误,但是我找不到任何解决方法。请帮忙 错误: Cannot instantiate firebase-auth - be sure to load

我已经在Firebase中创建了一个web应用程序项目。并添加了所有Firebase配置脚本,包括为项目提供的api键。我想使用firebase集成Google登录web应用程序,我已经阅读了firebase文档提供的文档。但Google登录按钮不起作用,我一加载index.html,它就会在控制台上抛出这些错误。我已经尝试了所有的方法来消除这些错误,但是我找不到任何解决方法。请帮忙

错误:

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. 
编辑1:

代码:


//初始化Firebase
变量配置={
apiKey:“*************”,
authDomain:“******.firebaseapp.com”,
数据库URL:“https://*****.firebaseio.com”,
项目D:“**********”,
storageBucket:“**.appspot.com”,
messagingSenderId:“**************”
};
firebase.initializeApp(配置);
谷歌登录
谷歌注销
var provider=new firebase.auth.GoogleAuthProvider();
函数googleSignin(){
firebase.auth().signInWithPopup(提供程序)。然后(函数(结果){
//这将为您提供一个Google访问令牌。您可以使用它访问Google API。
var token=result.credential.accessToken;
//已登录的用户信息。
var user=result.user;
// ...
}).catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
//使用的用户帐户的电子邮件。
var email=error.email;
//使用的firebase.auth.AuthCredential类型。
var-credential=error.credential;
// ...
});
}
函数googleSignout(){
firebase.auth().signOut().then(函数(){
//成功注销。
}).catch(函数(错误){
//发生了一个错误。
});
}

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



这不是一个真正的答案,但有一点帮助我解决了这个问题,那就是firebase应用程序、firebase messaging等的版本号相同。

请编辑问题,以显示未按预期方式工作的相关代码。你能分享你的代码吗?乍一看,这似乎是firebase的配置问题。@Doug Stevenson:好的。谢谢你的建议。@Vito Madio是的,当然!我将firebas-app.js移到firebase.js之后的下一行,并清除了缓存。它部分解决了问题,我的控制台现在没有错误。但谷歌登录仍然不起作用。谷歌登录窗口弹出并消失。我该如何解决这个问题:/有人能帮忙吗?请啊哈,马上帮我!谢谢
<!-- 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 -->