-
Notifications
You must be signed in to change notification settings - Fork 0
a-anosov-parc/gcconline
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Ни для кого не секрет, что одним из важных шагов при оптимизации javascript на сайтах, является минимизация исходных скриптов. На данный момент основными инструментами для сжатия javascript являются yui-compressor (утилита для командной строки в UNIX-подобных системах), packer от Dean Edwards (онлайн-сервис) и Google Closure Compiler – наиболее продвинутый на данный момент инструмент (существует как онлайн-версия, так и свободное java-приложение, запускаемое из командной строки). Однако с запуском java-приложение не в UNIX-подобной операционной системе могут возникнуть сложности, так как для своей работы оно потребует эмуляции через Cygwin. Однако существует и альтернативный способ сделать кроссплатформенную утилиту для командной строки – это использовать онлайн-сервис Google Closure Compiler прямо из командной строки. Для этого нам понадобится php5 с модулями php5-cli и php5-curl, что сделает нашу утилиту кроссплатформенной. Установку и использование утилиты я буду описывать с точки зрения linux-подобных операционных систем семейства Debian. Начнем с того, что если php5 с нужными модулями не установлен, то набираем в терминале команду: sudo aptitude install php5 php5-cli php5-curl Затем создаем скрипт, который будет отправлять POST-запросом исходные коды javascript на страницу с онлайн-сервисом Google Closure Compiler и возвращать нам оптимизированный и сжатый код. Я назвал скрипт gcconline, но можно подобрать ему любое другое название. После скачивания, рекомендую поместить скрипт в каталог /usr/bin, назначить его владельцем пользователя root и выставить ему права 755. Если скрипт скачался в домашний каталог, то последовательность команд будет такой: sudo mv ~/gcconline /usr/bin/gcconline sudo chown root:root /usr/bin/gcconline sudo chmod 755 /usr/bin/gcconline Далее можно приступать к практическому использованию скрипта. Параметры, описывающие имена входного и выходного файлов, аналогичны параметрам утилиты yui-compressor. Поэтому, самым распространенным вариантом команды будет, например, такой: gcconline -o jquery.min.js jquery.js Эта команда использует в качестве исходного файла скрипт jquery.js и после окончания своей работы выдаст скрипт, сжатый с настройками «Advansed optimizations». Также можно использовать варианты команд: gcconline -s -o jquery.min.js jquery.js gcconline -w -o jquery.min.js jquery.js Первый вариант команды использует упрощенную оптимизацию «Simple optimizations» и размер сжатого файла в этом случае получится больше, чем при использовании «Advansed optimizations». Второй вариант команды никакой оптимизации проводить не будет, а просто вырежет из скрипта все пробелы, знаки табуляции и переносы строк. Как и в случае использования утилиты yui-compressor, команда следующего вида выведет содержимое сжатого файла в консоль (stdout): gcconline jquery.js Код утилиты gcconline может свободно использоваться, улучшаться и модифицироваться под собственные нужды. Также утилиту можно встроить в различные веб-проекты для прозрачного сжатия javascript-кода при изменении исходных скриптов. Кроме того, с минимальными модификациями, скрипт может использоваться в любой операционной системе.
About
Google Closure Compiler utility
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published