Язык программирования C#9 и платформа .NET5 - Страница 620

Изменить размер шрифта:

Теперь модифицируйте частичное представление

_JavaScriptFiles.cshtml
, как показано ниже (обратите внимание, что файлы в разделе
Development
больше не имеют расширения
.min
):

<environment include="Development">

  <script src="~/lib/jquery/dist/jquery.js"></script>

  <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>

</environment>

<environment exclude="Development">

  <script src="~/lib/jquery/dist/jquery.min.js"></script>

  <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>

</environment>

<script src="~/js/site.js" asp-append-version="true"></script>

Вспомогательная функция дескриптора для ссылки

Вспомогательная функция дескриптора для ссылки (

<link>
) имеет атрибуты, применяемые с локальными и удаленными файлами. Атрибут
asp-append-version
, используемый с локальными файлами, добавляет хеш-значение для файла как параметр строки запроса в URL, который отправляется браузеру. При изменении файла изменяется и хеш-значение, обновляя посылаемый браузеру URL. Поскольку ссылка изменилась, браузер очищает кеш от этого файла и перезагружает его. Модифицируйте дескрипторы ссылок для
bootstrap.css
и
site.css
в файле
_Head.cshtml
следующим образом:

<environment include="Development">

   <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css"

      asp-append-
version="true"/>

</environment>

<environment exclude="Development">

  <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />

</environment>

<link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/>

Ссылка, отправляемая браузеру для файла

site.css
, теперь выглядит так (ваше хеш-значение будет другим):

<link href="/css/site.css?v=v9cmzjNgxPHiyLIrNom5fw3tZj3TNT2QD7a0hBrSa4U"

    rel="stylesheet">

При загрузке файлов CSS из сети доставки содержимого вспомогательные функции дескрипторов предоставляют механизм тестирования, позволяющий удостовериться в том, что файл был загружен надлежащим образом. Тест ищет конкретное значение для свойства в определенном классе CSS, и если свойство не дает совпадения, то вспомогательная функция дескриптора загрузит запасной файл. Модифицируйте раздел

<environment exclude="Development">
в файле
_Head.cshtml
, как показано ниже:

<environment exclude="Development">

  <link rel="stylesheet"

    href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/

bootstrap.min.css"

    asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.css"

    asp-fallback-test-class="sr-only"

    asp-fallback-test-property="position"

    asp-fallback-
test-value="absolute"

crossorigin="anonymous"

    integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/

iJTQUOhcWr7x9JvoRxT2MZw1T"/>

</environment>

Вспомогательная функция дескриптора для сценария

Вспомогательная функция дескриптора для сценария (

<script>
) похожа на вспомогательную функцию дескриптора для ссылки с настройками очистки кеша и перехода на запасной вариант загрузки из сети доставки содержимого. Атрибут
asp-append-version
работает для сценариев точно так же, как для ссылок на таблицы стилей. Атрибуты
asp-fallback-*
также применяются с источниками файлов в сети доставки содержимого. Атрибут
asp-fallback-test
просто проверяет достоверность кода JavaScript и в случае неудачи загружает файл из запасного источника.

Обновите частичное представление

_JavaScriptFiles.cshtml
, чтобы использовать очистку кеша и переход на запасной вариант загрузки из сети доставки содержимого (обратите внимание, что шаблон MVC уже содержит атрибут
asp-append-version
в дескрипторе
<script>
для
site.js
):

<environment include="Development">

  <script src="~/lib/jquery/dist/jquery.js"

      asp-append-version="true"></script>

  <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"

      asp-append-version="true">

</script>

Оригинальный текст книги читать онлайн бесплатно в онлайн-библиотеке Knigger.com