Зачем использовать @Scripts.Render ("~/bundles/jquery")



Как



@Scripts.Render("~/bundles/jquery")


отличаются от просто ссылки на скрипт из html, как это



<script src="~/bundles/jquery.js" type="text/javascript"></script>


есть ли прирост производительности?

667   2  

2 ответов:

связывание - это сжатие нескольких файлов JavaScript или таблиц стилей без какого-либо форматирования (также называемого minified) в один файл для сохранения полосы пропускания и количества запросов для загрузки страницы.

в качестве примера вы можете создать свой собственный пакет:

bundles.Add(New ScriptBundle("~/bundles/mybundle").Include(
            "~/Resources/Core/Javascripts/jquery-1.7.1.min.js",
            "~/Resources/Core/Javascripts/jquery-ui-1.8.16.min.js",
            "~/Resources/Core/Javascripts/jquery.validate.min.js",
            "~/Resources/Core/Javascripts/jquery.validate.unobtrusive.min.js",
            "~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.min.js",
            "~/Resources/Core/Javascripts/jquery-ui-timepicker-addon.js"))

и сделать это так:

@Scripts.Render("~/bundles/mybundle")

еще одно преимущество @Scripts.Render("~/bundles/mybundle") над уроженца <script src="~/bundles/mybundle" /> это @Scripts.Render() будет уважать web.config отладка установка:

  <system.web>
    <compilation debug="true|false" />

если debug="true" тогда вместо этого он будет отображать отдельные теги скрипта для каждого исходного скрипта без какого-либо минимизации.

для таблиц стилей вам придется использовать StyleBundle и @Styles.Оказывать.)(

вместо загрузки каждого скрипта или стиля с одним запросом (с тегами скрипта или ссылки), все файлы сжимаются в один файл JavaScript или таблицы стилей и загружаются вместе.

вы также можете использовать:

@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")

чтобы указать формат вывода в сценарии, где вам нужно использовать кодировку, тип и т. д.

Comments

    Ничего не найдено.