如何从 Firebase 托管应用程序访问特定于环境的 Firebase Function 端点?
How to access environment-specific Firebase Function endpoints from Firebase Hosted application?
我有三个 Firebase 项目,分别代表在 Firebase 主机上托管的开发、暂存和生产环境。每个环境都使用自己部署的 Firebase 函数,如下所示:
- 开发函数端点:https://us-central1-my-app-dev.cloudfunctions.net/someFunction
- 暂存功能端点:https://us-central1-my-app-staging.cloudfunctions.net/someFunction
- 生产函数端点:https://us-central1-my-app.cloudfunctions.net/someFunction
我无法弄清楚静态的、Firebase 托管的客户端 React 应用程序应该如何调用这些函数,因为每个函数的 URI 端点都会根据代码执行的环境而变化。
理想情况下,我可以为每个 Firebase 托管环境设置特定于环境的配置;不幸的是 the only way to do this in Firebase Hosting is from within Firebase Functions themselves.
如何为每个 Firebase 函数检索特定于环境的端点?
这里有几个选项。
首先,您可以按照自己喜欢的方式配置 React 应用程序。每个系统组件(后端,前端)都有自己的配置不一定是坏事。
其次,由于您使用 Firebase 托管来提供静态内容,因此您也可以将其用于 serve your functions API endpoints。这意味着您的静态内容和 API 端点都通过相同的主机名提供服务,这意味着您在发出请求时不再需要指定主机。所有请求都可以与该主机相关。您可以通过托管重写规则实现此目的。
我有三个 Firebase 项目,分别代表在 Firebase 主机上托管的开发、暂存和生产环境。每个环境都使用自己部署的 Firebase 函数,如下所示:
- 开发函数端点:https://us-central1-my-app-dev.cloudfunctions.net/someFunction
- 暂存功能端点:https://us-central1-my-app-staging.cloudfunctions.net/someFunction
- 生产函数端点:https://us-central1-my-app.cloudfunctions.net/someFunction
我无法弄清楚静态的、Firebase 托管的客户端 React 应用程序应该如何调用这些函数,因为每个函数的 URI 端点都会根据代码执行的环境而变化。
理想情况下,我可以为每个 Firebase 托管环境设置特定于环境的配置;不幸的是 the only way to do this in Firebase Hosting is from within Firebase Functions themselves.
如何为每个 Firebase 函数检索特定于环境的端点?
这里有几个选项。
首先,您可以按照自己喜欢的方式配置 React 应用程序。每个系统组件(后端,前端)都有自己的配置不一定是坏事。
其次,由于您使用 Firebase 托管来提供静态内容,因此您也可以将其用于 serve your functions API endpoints。这意味着您的静态内容和 API 端点都通过相同的主机名提供服务,这意味着您在发出请求时不再需要指定主机。所有请求都可以与该主机相关。您可以通过托管重写规则实现此目的。