Pull to refresh

Оптимизация JavaScript — делаем билд процесс

Website development *
В моем проекте очень много классов взаимодействуют на клиентской части. Каждый класс лежит в отдельном файле для удобства разработки. Хорошей практикой для увеличения скорости загрузки страницы, является уменьшение количества запросов к серверу. Поэтому чем меньше файлов и рисунков включать в страницу тем быстрее она загрузится. В случае с рисунками – СSS спрайты помогут уменьшить количество запросов. А в случае с js и css файлами – это конкатенация файлов и сжатие. Об этом и поговорим.

Очень удобный инструмент с открытым исходным кодом js-builder

js-builder

Отличный инструмент для того чтоб сформировать в правильном порядке конкатенацию файлов. Работает с любыми расширениями, которые задаешь. Также сжимает js.
В моем проекте я использую библиотеку prototype.js. Билдер при сжатии прототайпа выдает эксепшн. Поэтому я скачал исходники и перебилдил так чтоб билдер занимался только конкатенацией без сжатия. Пересобранную длл, можно скачать тут
Билдер также содержит консольное приложение. А это то что нужно для билда.
Далее необходимо сделать компрессию файлов которые сгенерирует билдер.
Для этой цели я использовал YUI Compressor. Отличная библиотека с высокой степенью сжатия.
Осталось только как то автоматизировать процесс сборки. Для этого я написал batch файл (я в виндовс работаю).
Выглядит он (build.bat) примерно так
set path1=D:\Projects \build\

%path1%JSBuilder\JSBuildConsole.exe /path=%path1%MyHeritageBuild.jsb

java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\output_file_from_js_builder.js -o %path1%target-min.js

java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\style-all.css -o %path1%style-all-min.css


В моем случае джс билдер на выходе дает 2 файла — css и js, а компрессор их сжимает.
Надеюсь это поможет вам создать удобный процесс сборки файлов.

Эту статью я взял из своего техноблога на сайте www.kigorw.com
Total votes 29: ↑26 and ↓3 +23
Views 1.4K
Comments 13

NetBookFox — сборка Firefox для нетбуков

Lumber room
Дано: Asus EEE PC 701 (с установленной Eeebuntu 3.0 NBR), дача, интернет через GPRS.
Задача: попробовать при данных условиях максимально комфортно серфить по интернету.
Дополнительные условия: ноутбуков несколько, каждый раз скачивать одни и те же расширения занимает как минимум в 2 раза больше времени.

Решение:

Решение напрашивалось одно — попробовать сделать «кастомную» сборку Firefox, в которой были бы все необходимые расширения.

image

И вот, что получилось…
Читать дальше →
Total votes 8: ↑4 and ↓4 0
Views 473
Comments 14

Ещё один Билд-светофор в офисе

IT systems testing *
Sandbox

В своё время меня очень вдохновила идея создания билд-светоформа, описанного моими коллегами на Хабре здесь. В моём случае получился не билд-светофор, а билд-лампа. Пример моей реализации в статье под катом.

Читать далее
Total votes 9: ↑8 and ↓1 +7
Views 3.7K
Comments 15