Pull to refresh

Comments 30

А умеет ли SquishIt «разворачивать» инструкции @import в CSS-файлах?
Если добавить SquishIt.Css.Add("~/Content/ImportedInCss.css"); то будет работать, если же нет то он сам не включит этот css в общий. Или же все просто надо будет подключить css в самом хедере. Так что сам он их не «разворачивает».
Результирующий файл компонуется на лету? Я имею ввиду физически файл появится на диске?
Мне еще понравился add-in Chirpy. Основан на T4 и популярных минификаторах. Плюс в том, что вся статика появляется во время сборки сайта, удобно конфигурируется единожды, а не как случае SquishIt — в каждом представлении. Но а минус — нет штатных средств для запрета минификации в режиме отладки.
UFO just landed and posted this here
файл появляется «на лету» один раз при старте приложения, в но если файлы изменятся то файл будет сгенерирован снова с другим параметром или именем если указать "_#"
UFO just landed and posted this here
только хотел написать, что сэндвич так аппетитно на меня смотрит
Это не сэндвич, это Кубик Жрубика
Картинка идеально дополняет мою (из статьи в первом предложении) :)
Действительно, стоило бы картинки поменять, я не смог дочитать статью, пошел точить…
У нас в проекте Combres используется.

В дополнение к объединению идет еще и сжатие (Google Closure compiler, YUI Compressor или Microsoft Ajax Minifier на выбор)
Из плюсов Combres можно отметить отсутствие необходимости менять pageBaseType, ну и отдельный файл конфигурации, благодаря чему не нужно перечислять скрипты в каждой вьюхе.
Только что опытным путем было доказано что менять pageBaseType не обязательно. Работает и стандартный «System.Web.Mvc.WebViewPage», но только razor будет подчеркивать @SquishIt.Css.Render("~/Content/combined_#.css"). А зачем перечислять все скрипты в каждой вьехе? Можно ведь многие скрипты перенести в layout?
И даже нужно)

Ну это уже субъективное ощущение у меня, что Combres посерьезней. Там тебе и конфигурация сжатия, и кэширования, и именованные группы скриптов. Зато SquishIt быстрей внедрить, конечно же.
Ну это хорошо когда есть выбор ;) Надо будет все же посмотреть Combres, спасибо.
Еще из плюсов Combres — расширяемость фильтрами.

Есть готовые фильтры реализующие парсинг префиксов ~/ в URL, CSS-переменные, LESS. Можно добавлять свои фильтры.
Насколько мне известно эта библиотека также поддерживает Less, но я к сожалению не работал с ней поэтом не могу об этом ничего сказатью
Не знал про LESS, спасибо!
Круто! раньше приходилось вручную все css файлы сливать в один и сжимать из за ограничения IE
Библиотека полезная, но зачем менять «pageBaseType» на «SquishIt.Contrib.Mvc.SquishItBasePage»? В моих проекта уже есть свой «pageBaseType». Неужели по-другому нельзя реализовать?
Видимо, этот SquishItBasePage только ради того, чтобы добавить свойство SquishIt к классу страницы.
Используйте вместо него Bundle да и всё.
А разве нельзя свой pageBaseTye унаследовать от SquishIt.Contrib.Mvc.SquishItBasePage?
А что если у меня еще есть одна «не правильно написанная» библиотека, которая требует свой pageBaseType? От двух-то классов я не могу унаследоваться.
Да, тогда, конечно, только решение 1andy: использовать статический класс Bundle той же библиотеки (using SquishIt.Framework).
За сегодняшний день выяснилось, что это на порядок удобнее:
— можно сделать отдельные файлы (например, один общий объединенно-минифицированный файл для всех страниц в главном layout'е и еще один на конкретной странице);
— можно оставить , если использовать функцию .ForceRelease();
— наконец, файлы складываются в общий в той последовательности, в которой указываешь, а не снизу вверх.
только при использовании Bundle у меня путь к сгенерированому файлу получается в кавычках как будто это строка, есть какое либо решение этой проблемы?
Спасибо за статью — в мемориз!
Сейчас аналогичный процесс налажен с помощью MSBuild, Yahoo.Yui.Compressor, проблемы с кешем решили динамическим добавлением параметра запроса (зависящего от даты последнего изменения файла).
Видимо подход не будет работать на фермах, к сожалению. Вьюха может быть отрендерена на одном компьютере, а запрос на получение javascript файла пойдет на другой компьютер, где то еще не был создан.
Sign up to leave a comment.

Articles