2017-10-04 205 views
1

Firestore docs只顯示瞭如何設置使用firebase-admin公司的FireStore,這似乎對我來說,基本上是一個服務器端解決方案。即使我們談論的是使用雲功能,這仍然是一個小型的服務器與瀏覽器和數據庫之間的一個額外的抽象層。我正試圖弄清楚如何進行類似的設置,直接從瀏覽器代碼訪問實時數據庫。如何建立雲公司的FireStore靜態託管網站

在5分鐘時爲YouTube: Getting Started With Cloud Firestore on the Web | Complete Tutorial由谷歌提供的,我清楚地看到正在使用這種類型的配置,除了現在初始化程序之後,我們稱之爲firestore()方法,而不是database()方法來獲取根引用。

我已經重新啓動了啓動firestore的項目,並且已經將項目規則設置爲允許任何人訪問它。但對我來說是不包括在我的火力實例firebase()方法。

const firebase = require('firebase') 

const config = { 
    apiKey: 'long_ugly_string', 
    authDomain: 'my_app_id.firebaseapp.com', 
    databaseURL: 'https://my_app_id.firebaseio.com', 
    projectId: 'my_app_id', 
} 

firebase.initializeApp(config) 

console.log(firebase.firebase) // undefined 
const firestore = firebase.firestore() // TypeError: firebase.firestore is not a function 

我也嘗試創建一個100%全新的項目,以確保問題不被舊的設置從實時數據庫安裝揮之不去所致。但我對這個新項目有同樣的問題。我的火力實例結束了一個database()方法,但沒有firestore()方法。

+0

您使用的是哪個版本的Firebase? –

+1

的火力文檔展示瞭如何使用幾種不同的語言。服務器端JavaScript顯示在「Node.js」選項卡下。您應該查看客戶端JavaScript的「Web」選項卡。確保您[使用正確的圖書館版本](https://firebase.google.com/docs/firestore/quickstart#set_up_your_development_environment) – Sidney

回答

2

由於從@Sidney發表評論,我可以嘗試解決問題。我事實上是在查看node.js選項卡,而不是文檔中的web選項卡。缺少的元素是致電require('firebase/firestore'),以使其可用於firebase模塊。以下是更正後的設置代碼:

const firebase = require('firebase') 
require('firebase/firestore') // *** this line was missing *** 

const config = { 
    apiKey: 'long_ugly_string', 
    authDomain: 'my_app_id.firebaseapp.com', 
    databaseURL: 'https://my_app_id.firebaseio.com', 
    projectId: 'my_app_id', 
} 

firebase.initializeApp(config) 

const firestore = firebase.firestore() 

// rest of code ... 
相關問題