首页 > 解决方案 > 如何为 AWS S3 中托管的 React 应用程序将 API URL 存储在 app.config/web.config 等文件中

问题描述

问题是什么?

我有一个托管在 AWS S3 中的 React 应用程序。应用程序向 API URL 发出请求并显示结果。API URL 会根据环境而变化。

开发环境 - https://192.168.0.1/api/users

测试环境 - https://192.168.0.2/api/users

我想在 app.config/web.config 之类的文件中包含这些不同的 API URL,以便我可以随时更改 URL(从而避免构建/部署)。

我尝试了什么?

  1. 我尝试在 .env 文件中添加这些 URL,如下所示:

DEV_API_URL = https://192.168.0.1/api/users

TEST_API_URL = https://192.168.0.2/api/users

在此之后,我可以从 React 代码中使用这些 URL,如下所示:

env.DEV_API_URL

env.TEST_API_URL

但是,如果我想更改这些 URL,我应该编辑 .env 文件,在每次更改时使用 Jenkins 构建和部署。

  1. 我尝试的另一种方法是将这些 URL 作为 Jenkins 中的环境变量。在这种方法中,我也需要在每次更改时构建和部署

我需要的?

你能告诉我一个地方(比如 app.config/web.config),我可以在其中更改这些 URL,并且我的 React 应用程序无需构建/部署即可立即获取它?

标签: reactjsamazon-web-servicesjenkinsamazon-s3environment-variables

解决方案


您可以将 URL 存储在数据库中,并在每次需要引用 React 中的值时获取 URL。

它增加了很多数据库开销,但不需要任何部署。您只需根据需要更改数据库中的 url。


推荐阅读