【发布时间】:2019-06-05 13:11:21
【问题描述】:
我正在使用create-react-app 从头开始构建 React SPA 应用程序,并为我的 SPA 的 API 服务器设置 uri 地址。根据官方文档建议的方法是为此类需求创建环境.env 文件。我正在使用持续交付作为开发工作流程的一部分。部署后,React SPA 应用程序进入一个 Docker 容器,API 进入另一个容器。这些容器部署在不同的服务器中,我不确切知道 API 的 uri 是什么,因此无法为每个部署创建单独的 .env 文件。是否有任何“正确的方法”为我的 SPA 应用程序提供动态配置,以便我可以轻松更改环境参数
SPA 中的 API URI 示例
// api.config.js
export const uriToApi1 = process.env.REACT_APP_API1_URI;
export const uriToApi2 = process.env.REACT_APP_API2_URI;
// in App.js
import { uriToApi1, uriToApi2 } from '../components/config/api.config.js';
/* More code */
<DataForm apiDataUri={`${uriToApi1}/BasicService/GetData`} />
/* More code */
<DataForm apiDataUri={`${uriToApi2}/ComplexService/UpdateData`} />
【问题讨论】:
-
您将需要扩展“进入 docker 容器”和“已部署”,因为答案就在这部分配置中。
-
您知道在部署时要为最终用户提供的 URL 吗?这可能是您需要放入环境文件中的 URL。
-
您有多少个 API 服务器?你知道 API url 的完整路径吗?
-
平均最多 5 个 URI。我不知道API的完整路径。
-
如果您不知道 API url,如何从您的 SPA 访问 API 服务器? API 路径是否类似于您的 SPA 路径?可以给些样品吗
标签: reactjs docker deployment