Может ли одно статическое веб-приложение 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
}
],
...
}