繁体   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