Как предотвратить CSSTidy от удаления * свойство IE7 Hack? (Или другой автономный инструмент)
Щедрость: Щедрость, присуждаемая тем, кто совместно использует автономный минимизатор CSS командной строки для Windows (то есть запускается так же, как JSMin и CSSTidy, но фактически минимизирует, а не 'prettify' и удаляет свойства
Использование Visual Studio 2010 Post-Build Events
В настоящее время я работаю над уменьшением нашей структуры CSS/JS путем объединения и минимизации файлов в .min
для производства при построении решения / проекта.
Для JS я использую JSmin.exe
в то время как для CSS,CSSTidy.exe
Все хорошо для JSmin, но CSSTidy удаляет все IE7*property
хаки и другие свойства, используемые display-table.htc (-dt-display:
). Если я использую--preserve_css=true
настройки, он сохраняет комментарии (которые я не хочу), а свойство * имеет*
раздели (чего я хочу).
Пример:
.row-fluid .span1 {width: 6.382978723%; *width: 6.329787233638298%;}
Становится (обратите внимание, что добавлен также перенос строки):
.row-fluid .span1 {
width:6.382979%;
width:6.329787%
}
Сделанный здесь вопрос заключается в том, что я ищу,НО был дан ответ для очистителя HTML (который я не использую) вместо альтернативы CSSTidy.
Итак, вопросы:
- Можно ли сделать так, чтобы CSSTidy НЕ удалял взломы IE7 или другие недействительные свойства (которые я на самом деле использую)?
- Есть ли какой-нибудь отдельный CSS / компрессор командной строки (особенно тот, который на самом делеминимизирует, а не простоубирает его)? (щедрость за это)
Obs.: Решение VS является общим для TFS, не может заставить всех разработчиков установить YUI или любую другую фреймворк, который не является автономным, или фреймворки на других языках, таких как Ruby/PHP.На данный момент jsmin.exe и csstidy.exe были лучшими, так как я просто добавил и решение, и вызвал их после событий.
1 ответ
Проведя всю пятницу в поисках и не найдя хорошего инструмента, сегодня я дал новый шанс и, наконец, нашел инструмент, который минимизирует как CSS, так и JS.
Название не очень простое, поэтому найти его было сложно: Microsoft Ajax Minifier
Пока просит установки, я просто скопировал содержимое папки в проект и работал как шарм.
Для тех, кто хочет использовать его как пост-событийную сборку:
Учитывая, что у вас есть папка.js, и вы хотите объединить и свернуть все файлы.js, которые заканчиваются на .debug.js
,
type "$(ProjectDir)\Scripts\*.debug.js" | "$(ProjectDir)tools\AjaxMin" -JS -comments:none –global:jQuery,$ -out "$(ProjectDir)\Scripts\myProject.min.js" -clobber
$(ProjectDir)
папка проекта;type
этоcmd.exe
команда для отображения содержимого одного или нескольких файлов. Поэтому я приказываю получить содержимое всех файлов *.debug.js и оставить вSTDIN
;- Вызвать AjaxMin.exe (нет необходимости
.exe
что я скопировал на мой\tools\
папки; - передать аргументы по мере необходимости с
-argName:argValue
; - использование
-out
и путь с файлом, который будет выведен; - добавлять
-clobber
перезаписать, если файл существует
Теперь каждый раз, когда мне нужно обновить мои css и js файлы, я перестраиваю / собираю проект и вуаля, минимизирую CSS и JS.