четверг, 4 сентября 2014 г.

MVC Bundling

познакомился с такой технологией MVC, как Bundling (BundleCollection / Scripts.Render)
основная цель - оптимизация загрузки вэб-страницы. делается это засчет рантаймового объединения многих мелких JS или CSS в один большой (выигрывается время, затрачиваемое браузером на установку соединений при запросе каждого скриптика), кроме того, JS автоматически минимизируется.
Минимизацию скрипта можно отключить (используя для связки класс Bundle вместо ScriptBundle). В этом случае будет использоваться исходный файл, либо файл, одноименный исходному, но заканчивающийся на ".min.js", если таковой присутствует в той же папке. вот эта фича мне понравилась. например, можно качнуть jquery.js и jquery.min.js, добавить их в проект, и в релиз будет подставляться .min.js, тогда как в дебаг - .js.
Кроме того, (тоже мне по сердцу фича) можно ссылки на скрипты указывать вида "~/Scripts/jquery-{version}.js"
в этом случае, если будет обнаружен файл "jquery-1.10.2.js" - будет подхвачен он. если вы захотите обновить до версии "jquery-1.11.1.js" - просто заменяете старый файл новым - все остальное будет сделано автоматически.

P.S.:
минификация зависит от

<system.web>
    <compilation debug="true" />
(если дебаг - тру - минификации и объединения не происходит)

http://www.asp.net/mvc/overview/performance/bundling-and-minification - источник информации

P.P.S. если запускаешь из-под Visual Studio - это все не срабатывает, страница содержит ссылки на исходные файлы

Комментариев нет:

Отправить комментарий