问题出在哪里?
我在AWS S3中托管了一个React应用程序。该应用程序向API URL发出请求并显示结果。API URL会根据环境而更改。
DEV环境-https://192.168.0.1/api/users
测试环境-https://192.168.0.2/api/users
我想在app.config/web.config这样的文件中包含这些不同的API URL,这样我就可以随时更改URL(从而避免构建/部署(。
我试过什么?
- 我尝试在.env文件中添加这些URL,如下所示:
DEV_API_URL=https://192.168.0.1/api/users
测试_API_URL=https://192.168.0.2/api/users
之后,我可以使用React代码中的这些URL,如下所示:
环境.DEV_API_URL
环境测试_API_URL
但是,如果我想更改这些URL,我应该编辑.env文件,在每次更改时使用Jenkins进行构建和部署。
- 我尝试的另一种方法是,将这些URL作为Jenkins中的环境变量。在这种方法中,我还需要在每次更改时进行构建和部署
我需要什么?
你能告诉我一个地方吗(比如app.config/web.config(,我可以在那里更改这些URLS,我的React应用程序可以立即启动它,而无需构建/部署吗?
您可以将URL存储在数据库中,并在每次需要引用React中的值时获取URL。
它增加了大量的数据库开销,但不需要任何部署。您只需根据需要更改数据库中的url即可。
我认为您可能想要使用环境变量。基本上,您可以为开发/暂存/生产构建一些东西,并拥有名为.env.development
.env.production
的文件,其中可以包含环境变量,如:REACT_APP_API_URL=https://example.com
,并将其与process.env.REACT_APP_API_URL
一起在代码中使用。请注意,它们应该以REACT_APP
为前缀。您可能使用的一些库有:dotenv、env-cmd