Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 同一Azure存储帐户上的多个站点_Reactjs_Azure_Url Rewriting_Azure Storage_Azure Cdn - Fatal编程技术网

Reactjs 同一Azure存储帐户上的多个站点

Reactjs 同一Azure存储帐户上的多个站点,reactjs,azure,url-rewriting,azure-storage,azure-cdn,Reactjs,Azure,Url Rewriting,Azure Storage,Azure Cdn,我们需要为React应用程序改进CI/CD流程。底线是: 对任何git分支(发布分支和主分支除外)的任何提交都应触发Azure存储帐户的生成/部署过程,该帐户当前配置为静态站点并与CDN端点(Microsoft标准)链接 部署目标应为{rootUrl}/{branchName} 因此,我们希望在同一个存储帐户/CDN端点上有多个React应用程序。这将允许我们的QA团队独立测试功能 我已经在应用程序中进行了以下更改,允许应用程序在localhost上使用相对路径工作: 在package.js

我们需要为React应用程序改进CI/CD流程。底线是:

  • 对任何git分支(发布分支和主分支除外)的任何提交都应触发Azure存储帐户的生成/部署过程,该帐户当前配置为静态站点并与CDN端点(Microsoft标准)链接
  • 部署目标应为{rootUrl}/{branchName}
因此,我们希望在同一个存储帐户/CDN端点上有多个React应用程序。这将允许我们的QA团队独立测试功能

我已经在应用程序中进行了以下更改,允许应用程序在localhost上使用相对路径工作:

  • 在package.json中设置主页属性
  • 设置路由器的basename属性
  • 但我不知道如何更改CDN端点的URL重写规则,以允许直接打开像{rootUrl}/{branchName}/somepath/这样的URL

    另外,目前我们有以下规则适用于每个CDN端点的单个站点:

    条件

    • 如果URL文件扩展名为
    • 操作员:不大于
    • 分机号码:0
    • 案例转换:否
    行动

    • 然后URL重写
    • 源模式:/
    • 目的地:/index.html
    • 保留不匹配路径:否
    尝试以下操作:

  • 如前所述,将
    “主页”:“,
    添加到您的package.json中
  • Router
    更改为
    HashRouter
    并删除
    basename
    属性
  • 这就是我的例子。
    我使用以下命令进行部署:

    az storage blob upload-batch \
      --account-name $(AZURE_STORAGE_ACCOUNT) \
      --account-key $(AZURE_STORAGE_KEY) \
      -s ./build/. \
      -d '$web/product/book-shelves'
    

    你有机会尝试我的答案吗?
      <Router basename={process.env.RELATIVE_ROOT_URL} {...props}>
    ...
    
    RELATIVE_ROOT_URL=/testApp
    
    az storage blob upload-batch \
      --account-name $(AZURE_STORAGE_ACCOUNT) \
      --account-key $(AZURE_STORAGE_KEY) \
      -s ./build/. \
      -d '$web/product/book-shelves'