2017-10-20 79 views
0

我正在將一個簡單的html/javascript項目從firebase實時數據庫遷移到cloud firestore。我遵循quickstart並添加了firebase-firestore的庫 - 但是當我嘗試初始化firestore時,我得到'Uncaught TypeError:firebase.firestore不是函數'。快速啓動中提到:Javascript - 通過Firebase初始化Cloud Firestore時出錯

const firebase = require("firebase"); 
// Required for side-effects 
require("firebase/firestore"); 

..但我認爲,只有當我使用NPN獲得庫和不適用的?

我錯過了什麼?

的index.html

<head> 
<script src="https://www.gstatic.com/firebasejs/4.5.1/firebase.js"></script> 
<script src="https://www.gstatic.com/firebasejs/4.5.1/firebase-firestore.js"></script> 
<script src="./app.js" type="text/javascript"></script> 

app.js

(function() 

    {var config = { 
    apiKey: "...", 
    authDomain: "...", 
    databaseURL: "...", 
    projectId: "...", 
    storageBucket: "...", 
    messagingSenderId: "..." 
    }; 

firebase.initializeApp(config); 

var oldDB = firebase.database(); <-- THIS WORKS 
// Initialize Cloud Firestore through Firebase 
var newDB = firebase.firestore(); <-- 'Uncaught TypeError: firebase.firestore is not a function' 

回答

0

該公司的FireStore SDK不包括它的主火力包。您需要同時導入:

import * as firebase from 'firebase' 

import 'firebase/firestore' 
+0

感謝您的答案。我發現問題是我的錯誤 - 從另一個html調用js而沒有引用添加的firebase-firestore庫。 –

0

的回答是,我打電話從另一個HTML頁面,在這裏我還沒有更新的庫引用包括一個火力點的JavaScript -firestore。當這是更新的firestore db初始化工作正常..