簡體   English   中英

Firebase服務-僅功能VS本地仿真器以在本地運行雲功能嗎?

[英]Firebase serve --only functions VS local emulator to run cloud functions locally?

到目前為止,我一直在進行以下操作以在開發過程中本地使用和測試我的功能:

我將其運行在一個終端中:

firebase serve --only functions

在初始化Firebase應用程序時,將其添加到客戶端代碼中:

const config = {
  apiKey: process.env.FIREBASE_APP_API_KEY,
  authDomain: process.env.FIREBASE_APP_AUTH_DOMAIN,
  databaseURL: process.env.FIREBASE_APP_DATABASE_URL,
  projectId: process.env.FIREBASE_APP_PROJECT_ID,
  storageBucket: process.env.FIREBASE_APP_STORAGE_BUCKET,
  messagingSenderId: process.env.FIREBASE_APP_MESSAGING_SENDER_ID
};

firebase.initializeApp(config);

// THIS IS THE DEFAULT HOST AND PORT USED BY 'firebase serve command'
firebase.functions().useFunctionsEmulator('http://localhost:5000');

我只測試了HTTP可調用函數,到目前為止,它一直運行良好。


但是在文檔中,我看到了:

https://firebase.google.com/docs/functions/local-emulator

在本地運行功能Firebase CLI包括一個Cloud Functions仿真器,它可以仿真以下功能類型:

  • HTTPS功能
  • 可調用函數
  • Cloud Firestore功能

您可以在本地運行功能以在部署到生產之前對其進行測試。

1.安裝Firebase CLI- 鏈接

2.設置管理員憑據(可選) - 鏈接

 $ set GOOGLE_APPLICATION_CREDENTIALS=path\\to\\key.json $ firebase emulators:start 

完成這些步驟后,您的功能測試可以使用Admin SDK訪問Firebase和Google API。 例如,在測試身份驗證觸發器時,仿真函數可以調用admin.auth()。getUserByEmail(email)。

兩種本地運行函數的方法有什么區別?

firebase emulators:start是新Firebase模擬器套件的一部分,該套件旨在允許多個模擬產品一起工作。 它與firebase serve --only functions完全不同,后者僅基於@ google-cloud / functions-emulator npm軟件包 ,該軟件包未得到積極維護(點擊進入,您將發現它已棄用)。 建議您開始遷移到新的仿真器套件,並遠離firebase serve

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM