Я недавно обновил с Angular 7 до Angular 8, используя ng update
. Следуя ожидаемому пути миграции без проблем, я собрал и развернул. Все работало замечательно, пока я не начал проверять другие версии браузера и понял, что некоторые из них получают 401 unauthorized
с сервера при запросе файлов js.
Проблема в том, что дифференциальная загрузка выполняется следующим образом:
<script src="main-es2015.1234.js" type="module"></script>
Кажется, что некоторые браузеры иногда не хотят передавать информацию об аутентификации для <script type="module" ...
. Меня поражает, что есть несколько способов обойти это:
- Я могу обойти это, добавив
crossorigin="use-credentials"
к тегу скрипта, но я не смог найти, как это сделать в ng build
.
- Я могу настроить параметры аутентификации, чтобы каким-то образом разрешать анонимные запросы к моим JS-файлам, но я не смог найти метод ядра dotnet, который бы выполнял это без особой сложности. Прямо сейчас все приложение позволяет только аутентификацию Windows. Если я разрешаю анонимность, мне не нужно беспокоиться о том, что я оставил контроллер открытым.
Я думаю, что первый вариант - более чистое решение, но я открыт для альтернатив.