[英]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.