Если добавить SquishIt.Css.Add("~/Content/ImportedInCss.css"); то будет работать, если же нет то он сам не включит этот css в общий. Или же все просто надо будет подключить css в самом хедере. Так что сам он их не «разворачивает».
Результирующий файл компонуется на лету? Я имею ввиду физически файл появится на диске?
Мне еще понравился add-in Chirpy. Основан на T4 и популярных минификаторах. Плюс в том, что вся статика появляется во время сборки сайта, удобно конфигурируется единожды, а не как случае SquishIt — в каждом представлении. Но а минус — нет штатных средств для запрета минификации в режиме отладки.
файл появляется «на лету» один раз при старте приложения, в но если файлы изменятся то файл будет сгенерирован снова с другим параметром или именем если указать "_#"
Из плюсов Combres можно отметить отсутствие необходимости менять pageBaseType, ну и отдельный файл конфигурации, благодаря чему не нужно перечислять скрипты в каждой вьюхе.
Только что опытным путем было доказано что менять pageBaseType не обязательно. Работает и стандартный «System.Web.Mvc.WebViewPage», но только razor будет подчеркивать @SquishIt.Css.Render("~/Content/combined_#.css"). А зачем перечислять все скрипты в каждой вьехе? Можно ведь многие скрипты перенести в layout?
Ну это уже субъективное ощущение у меня, что Combres посерьезней. Там тебе и конфигурация сжатия, и кэширования, и именованные группы скриптов. Зато SquishIt быстрей внедрить, конечно же.
Библиотека полезная, но зачем менять «pageBaseType» на «SquishIt.Contrib.Mvc.SquishItBasePage»? В моих проекта уже есть свой «pageBaseType». Неужели по-другому нельзя реализовать?
Да, тогда, конечно, только решение 1andy: использовать статический класс Bundle той же библиотеки (using SquishIt.Framework).
За сегодняшний день выяснилось, что это на порядок удобнее:
— можно сделать отдельные файлы (например, один общий объединенно-минифицированный файл для всех страниц в главном layout'е и еще один на конкретной странице);
— можно оставить , если использовать функцию .ForceRelease();
— наконец, файлы складываются в общий в той последовательности, в которой указываешь, а не снизу вверх.
Спасибо за статью — в мемориз!
Сейчас аналогичный процесс налажен с помощью MSBuild, Yahoo.Yui.Compressor, проблемы с кешем решили динамическим добавлением параметра запроса (зависящего от даты последнего изменения файла).
Видимо подход не будет работать на фермах, к сожалению. Вьюха может быть отрендерена на одном компьютере, а запрос на получение javascript файла пойдет на другой компьютер, где то еще не был создан.
Объединение и сжатие CSS и JS файлов в ASP.NET веб-приложений