Литмир - Электронная Библиотека
A
A

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

_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"

      <b>asp-append-</b>
<b>version=&quot;true&quot;/&gt;</b>

&lt;/environment&gt;

&lt;environment exclude=&quot;Development&quot;&gt;

  &lt;link rel=&quot;stylesheet&quot; href=&quot;~/lib/bootstrap/dist/css/bootstrap.min.css&quot; /&gt;

&lt;/environment&gt;

&lt;link rel=&quot;stylesheet&quot; href=&quot;~/css/site.css&quot; <b>asp-append-version=&quot;true&quot;</b>/&gt;

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

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

&lt;link href=&quot;/css/site.css?v=v9cmzjNgxPHiyLIrNom5fw3tZj3TNT2QD7a0hBrSa4U&quot;

    rel=&quot;stylesheet&quot;&gt;

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

&lt;environment exclude=&quot;Development&quot;&gt;
в файле
_Head.cshtml
, как показано ниже:

&lt;environment exclude=&quot;Development&quot;&gt;

  &lt;link rel=&quot;stylesheet&quot;

    href=&quot;https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/

bootstrap.min.css&quot;

<b>    asp-fallback-href=&quot;~/lib/bootstrap/dist/css/bootstrap.css&quot;</b>

<b>    asp-fallback-test-class=&quot;sr-only&quot;</b>

<b>    asp-fallback-test-property=&quot;position&quot;</b>

    asp-fallback-
test-value=&quot;absolute&quot;

crossorigin=&quot;anonymous&quot;

    integrity=&quot;sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/

iJTQUOhcWr7x9JvoRxT2MZw1T&quot;/&gt;

&lt;/environment&gt;

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

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

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

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

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

&lt;environment include=&quot;Development&quot;&gt;

  &lt;script src=&quot;~/lib/jquery/dist/jquery.js&quot;

<b>      asp-append-version=&quot;true&quot;&gt;&lt;/script&gt;</b>

  &lt;script src=&quot;~/lib/bootstrap/dist/js/bootstrap.bundle.js&quot;

<b>      asp-append-version=&quot;true&quot;&gt; </b>

&lt;/script&gt;

620
{"b":"847442","o":1}