我公司的遗留应用程序是带有Knockout前端的.NET MVC应用程序,并且我们将功能分支部署到我们的测试环境中,以便QA可以隔离地测试这些新功能。这些URL的结构如下:https://{testEnvOrigin}/{featureBranchName}
。
我们正在尝试在连接到我们服务层的静态React应用程序中复制此功能。这意味着我们需要根据要测试的分支动态设置基数href
。
我们正在使用Webpack来构建React应用,到目前为止,我们一直在使用dotenv。看来,除非我们为每个环境和每个分支都进行单独的Webpack构建,否则我们无法使用dotenv之类的东西来设置基本href和其他环境变量。我们试图避免大量构建,因为当我们将应用程序部署到新环境时,这会增加一些不可预测性。我们对此有些茫然,因为我们设计的每个解决方案都显得笨拙且难以维护。但是我们认为这不可能是一个不寻常的用例,因此也许我们只是缺少Webpack,dotenv或堆栈中可以为我们解决此问题的其他工具的实现的详细信息。
我们当前解决此问题的思路包括:
public
目录中的JSON文件加载“环境变量”。这些变量包括基本href,该基本href作为basename
传递到React Router。想法是,每次部署时,我们都将一个单独的JSON文件的内容复制到该公共JSON配置中。但这需要开发人员为自己的特定分支手动创建这些JSON配置,并将其中的base href属性设置为适当的名称。有人遇到过这个问题吗?您是如何解决它的,或者至少是接近它的?我开始觉得自己缺少一些明显的解决方案,因为我找不到在线解决该问题的任何资源。
很抱歉,是否曾经有人问过这个问题,但是我搜索过的所有内容都与React / SPA无关,或者与部署到GitHub Pages无关。