Как предотвратить 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.

Другие вопросы по тегам