reactjs - 同一个 Azure 存储帐户上的多个 React 站点
问题描述
需要改进我们的 React 应用程序的 CI/CD 流程。底线是:
- 对除发布分支和 master 之外的任何 git 分支的任何提交都应触发对当前配置为静态站点并与 CDN 端点(Microsoft 标准)链接的 Azure 存储帐户的构建/部署过程。
- 部署目标应该是{rootUrl}/{branchName}
所以我们希望在同一个存储帐户/CDN 端点上有多个 React 应用程序。这将允许我们的 QA 团队独立测试功能。
我已经在应用程序中进行了以下更改,允许应用程序使用 localhost 上的相对路径工作:
- 在 package.json 中设置主页属性
"homepage": "http://localhost:3001/testApp"
- 设置Router的basename属性
<Router basename={process.env.RELATIVE_ROOT_URL} {...props}>
...
3)。在 .env 文件中添加一行:
RELATIVE_ROOT_URL=/testApp
但我不知道如何更改 CDN 端点的 URL 重写规则以允许直接打开像{rootUrl}/{branchName}/somepath/这样的 URL 。
PS 目前,我们有以下规则适用于每个 CDN 端点的单个站点:
条件:
- 如果 URL 文件扩展名
- 运算符:不大于
- 分机:0
- 案例转换:否
行动:
- 然后 URL 重写
- 源模式:/
- 目的地:/index.html
- 保留不匹配的路径:否
解决方案
推荐阅读
- rest - 我可以向 vnd.error 添加其他字段吗?
- googletest - 如何模拟使用成员变量初始化的局部变量
- php - Vue/PHP - 将 JSON 字符串解析为表格
- node.js - 将数据从循环推送到数组后重复键
- java - Spring Boot 声明式事务管理
- hl7-fhir - 当为患者的一生开具药物时,如何使用药物声明资源为药物处方期间设定值
- java - 为什么自从 java 9 PhantomReference java doc 声明它专用于 POST-mortem 清理操作,尽管它之前是 PRE-mortem
- elasticsearch - Elasticsearch:“分片分配”是什么意思?
- azure-devops - DevOps 电子邮件的电子邮件过滤器
- javascript - Input type=[number] 在显示时将 float 转换为 int