Пакетное сжатие css/js файлов
Имеется: 160 CSS файлов, 327 JavaScript файлов
Задача: За короткое время, файлы, которые раскиданы по разным папкам, сжать YUI Compressor'ом!
Времени на написание, либо интегрирование специальных систем нет, поэтому было решено реализовать на win cmd
Решение задачи было разделено на несколько подзадач:
Упаковка
- Реккурсивный проход по папкам в поисках файлов с расширением *.css|*.js
- Оригинальный файл копируется в файл filename.(css|js).unpacked
- Упаковка очередного файла YUICompressor'ом
- Оригинальный файл заменяется сжатым
Распаковка
- Реккурсивный проход по папкам в поисках файлов с расширением *.unpacked
- Файл filename.(css|js).unpacked копируется в файл filename.(css|js)
- Файл filename.(css|js).unpacked удаляется
Примочки
- Упаковка и Восстановление логируется
- Путь к YUI, каталог с дистром, расширение unpacked файла, путь к log файлам регулируется в переменных в верху батника
Как использовать?
- Кидаем файлик в корневой каталог дистрибутива, в подпапках которого есть файлы сss/js
- Указываем путь к YUI Compressor (или у к своему инструменту)
- Запускаемstart_packing.bat
Распаковка
- Запускаем start_restore.bat
Заточка
- Замените в файле start_packing.bat cтроку №26 на свой инструмент
java -jar %YUI_DIR%/build/yuicompressor-2.4.6.jar %%i -o %%i
Deploy
- Перед заливкой в рабочую версию настроил в FileZilla (Вид->Фильтры по названию файлов) исключение на передачу файлов оканчивающихся на *.unpacked
- Залил
- Затем в dev версии восстанавливаем сжатые файлы
- Получается так, что в Production'е сжатые файлы, а в деве остаются оригинальные

cybri0nix















