【问题标题】:Environment Variables for static site?静态站点的环境变量?
【发布时间】:2020-09-10 08:34:29
【问题描述】:

我正在考虑将 React 应用程序作为静态站点部署到云存储桶。

应用程序需要一些 api 密钥,但我找不到在云存储中设置环境变量的方法。

甚至可以在云存储中使用环境变量吗?

GCP Secret Manager 可能是一个选项,但看起来它是用于服务器端的。它需要身份验证,但我使用环境变量的主要目的是存储用于 Firebase 身份验证的 Firebase 密钥。

有什么建议吗?

【问题讨论】:

  • 不,Cloud Storage 无法为静态提供的文件设置环境变量。这有点奇怪,但您应该将该 API 密钥以纯文本形式放在用于 firebase 的 HTML/JavaScript 中。
  • 您可以在打包步骤将其添加到您的代码中。但是,请注意,您将与任何人共享一个 API 密钥。你确定吗?

标签: reactjs environment-variables google-cloud-storage static-site google-secret-manager


【解决方案1】:

您可以在 Cloud Storage 上托管您的静态网站,但这不允许您在其上设置环境变量。

作为替代方案,您可以使用 App Engine Standard 并在那里部署您的静态网站。在app.yaml你会be able to do so

可选。您可以在 app.yaml 文件中定义环境变量 使它们可用于您的应用。

以 GAE 为前缀的环境变量保留用于 系统使用,app.yaml 文件中不允许使用。

例子:

env_variables: MY_VAR: "my value"

其中MY_VARmy value 是环境的名称和值 您要定义的变量和每个环境变量条目 在env_variables 元素下缩进两个空格。

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    相关资源
    最近更新 更多