Я использую Asp.Net Core 2.2 и хотел бы загружать общие библиотеки js из cdn и использовать локальные ресурсы в ситуациях интрасети, когда cdn недоступен.
Сам резервный вариант работает, но у меня есть пользовательские сценарии, которые используют jquery и терпят неудачу при сбое ресурса cdn, хотя jquery загружается из локального источника. Это теги сценария, которые я использовал:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="~/js/myScript.js" asp-append-version="true"></script>
Мой скрипт не работает с ReferenceError: $ is not defined
. Я предполагаю, что это связано с тем, что резервный ресурс загружается позже, чем мой скрипт, потому что ввод $ в командной строке дает function().
Дополнительная информация: я также получаю ошибки в журнале js о том, что хэш целостности неверен. Меня это не смущает (пока), так как резервные библиотеки работают.
Также требуется очень много времени, прежде чем страница обнаружит, что cdn недоступен, и загрузит локальный запасной вариант (почти 2 минуты). Чтобы заблокировать cdn, я добавил временную запись в свой локальный файл dns (хосты в окнах).
Что мне нужно сделать, чтобы мои собственные сценарии работали с откатом?