到目前为止,我一直在进行以下操作以在开发过程中本地使用和测试我的功能:
我将其运行在一个终端中:
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.安装火力地堡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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句