Стиснення javascript і css

Це - універсальне стиснення. Але є і специфічне, яке допомагає зменшити розмір в 2 і більше разів, у порівнянні з простим gzip.

Патчений Rhino стискає за рахунок двох основних операцій:

Щоб його використовувати, потрібні такі компоненти:

  • встановлена ​​Java
    • бажано, щоб виконуваний файл java був на поточному шляху (PATH)
  • Завантажити YUI Compressor

Стиснути файл myfile.js в myfile-min.js:

Також є ряд корисних опцій, про які Ви дізнаєтеся, запустивши:

Компресор також вміє стискати CSS, вставляти переноси рядків після кожної крапки з комою, або кожні NN символів, і т.д.

Якщо російські символи криво стискаються --- використовуйте опцію "charset".

Важливо: при стисканні, в цілях безпеки, YUICompressor НЕ буде стискати локальні змінні в усіх областях видимості, пов'язаних з викликами with і eval. Тому використовувати ці конструкції не рекомендується.

Packer робить наступне:

Наприклад, напустимо PHP-версію на скрипт:

Результат стиснення (все в один рядок):

Версія jQuery: 1.3.2. Це для прикладу, з тим же успіхом можна було взяти і іншу гілку.

У назві файлів

  • min - рідна мініфікація jQuery. Той же результат виходить при мініфікаціі yui compressor 2.4.2
  • packer - означає, що застосували PHP packer 1.1
  • gz - звичайний gzip. Таким же gzipом стискає скрипти вебсервер.

Кілька суфіксів позначають два послідовно запущених компресії. Наприклад. min + .gz означає мініфіцірованний і потім gzip'ованний скрипт.

Майже всі сучасні браузери приймають від сервера gzip'ованние скрипти.

З таблиці видно, що найкращий результат досягається після мініфікаціі з подальшим gzip (jquery-1.3.2.min.js.gz).

Отже, кращий метод стиснення обраний як в теорії і перевірений на практиці. Це мініфікація скрипта. А gzip нехай робить сервер.

Цей інструмент заслужив окремий цикл статей: Google Closure Compiler в деталях.

Відповідно, рекомендація: Google Closure Compiler + GZIP. Причини ті ж.

  • Версія для друку

Спасибо большое, дуже довго шукав.

Друзі, смію порадувати вас. Тепер по тій же посиланням доступна нова версія - яка до всього іншого стискає локальні змінні і не псує регулярні вирази, записані без лапок.
Я тестував програму на досить великих шматках коду. Але ось маленький прімерчік, з яким вона легко справляється:
function test () var varOut / * a * / = "opa";
function testIn (param) var str = varOut + "2, param:" + param;
return str.replace (/ p / i, '');
>
alert (testIn ( "!"));
>

А можете для PHP підказати компресор?

Може хто знає щось краще на PHP?

Схожі статті