如何将Firebase CDN代码段链接到我的JavaScript文件?

时间:2019-09-28 19:42:11

标签: javascript firebase google-cloud-firestore

我无法将下面的功能链接到我的JavaScript文件。我正在使用Firebase CDN代码段。我在做什么错了?

Firebase代码段:

<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-app.js"></script>

<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->
<script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-analytics.js"></script>

<script>
  // Your web app's Firebase configuration
  var firebaseConfig = {
    apiKey: "AIzaSyAPeU7jO2Zz5kdrh-4g4ehfcrL8Aufzubs",
    authDomain: "udemy-modern-javascript-cee40.firebaseapp.com",
    databaseURL: "https://udemy-modern-javascript-cee40.firebaseio.com",
    projectId: "udemy-modern-javascript-cee40",
    storageBucket: "udemy-modern-javascript-cee40.appspot.com",
    messagingSenderId: "941299603483",
    appId: "1:941299603483:web:afcd4f1da6878b51ef80be",
    measurementId: "G-BRYW3TQNLL"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  const db = firebase.analytics();


js file:
db.collection('recipes').get().then((snapshot)=>{
    console.log(snapshot);

}).catch(err =>{
    console.log(err)
});

错误消息为:

  

sandbox.js:1未被捕获的TypeError:db.collection不是sandbox.js:1(匿名)@ sandbox.js:1处的函数

1 个答案:

答案 0 :(得分:0)

HTML文件中db标签中的script变量在.js文件中不会自动提供。

您通常会希望将所有JavaScript(包括您在script标记中拥有的所有内容都放入.js文件中,都将其全部包含在{{ 1}}标签。

将所有代码放入script文件中比较普遍,因此变成:

.js