Может ли одно статическое веб-приложение Azure размещать несколько приложений Angular?

Я использую одно и то же статическое веб-приложение Azure для размещения нескольких документов.
Каждый документ представляет собой приложение Angular, поддерживаемое командой разработчиков.

У меня есть конвейер, который развертывает каждый дистрибутив документов в каталоге статического веб-приложения Azure:

      /docs/angular-app-1
/docs/angular-app-2

Мой конвейер Azure выглядит так:

         - task: AzureStaticWebApp@0
     inputs:
       is_static_export: true
       app_location:docs
       skip_app_build: true
       skip_api_build: true
       azure_static_web_apps_api_token: SOME_TOKEN

The baseHrefкаждого приложения Angular различается:

угловое-приложение-1:baseHref="/angular-app-1/"
угловое-приложение-2:baseHref="/angular-app-2/"

Чтобы предотвратить ошибку 404 при обновлении страницы, используйте резервную навигациюindex.htmlкаждого приложения Angular.
Для этого я добавил файл вdocsкаталог:

      {
   "routes": [
     {
       "route": "/angular-app-1/*",
       "serve": "angular-app-1/index.html",
       "statusCode": 200
     }
     {
       "route": "/angular-app-2/*",
       "serve": "angular-app-2/index.html",
       "statusCode": 200
     },
   ]
}

Он работает, как и ожидалось, но уже несколько месяцев устарел в пользу .

Есть ли способ настроить резервную навигацию для каждого приложения Angular с помощью нового файла конфигурации?

      {
     "navigationFallback": {
         "rewrite": "index.html"
     }
}

В моем случаеnavigationFallback.rewriteдолжно быть :

  • angular-app-1/index.htmlдляangular-app-1
  • angular-app-2/index.htmlдляangular-app-2

Я пытался поместить файл с соответствующим резервным вариантом навигации в каждый дистрибутив приложения Angular, но безуспешно.

не могу понять как конвертироватьroutes.jsonконфигурация дляstaticwebapp.config.json

Могли ли забыть эту возможность перезаписи по маршруту?

1 ответ

Eстьroutesв новом файле конфигурации, который можно использовать.

Вам понадобится что-то вроде этого

      {
  ...
  routes: [
     {
       "route": "/angular-app-1/*",
       "rewrite": "/angular-app-1/index.html",
       "statusCode": 200
     },
     {
       "route": "/angular-app-2/*",
       "rewrite": "/angular-app-2/index.html",
       "statusCode": 200
     }
  ],
  ...
}
Другие вопросы по тегам