Optymalizacja, kompresja skryptów JavaScript

luty 3, 2007 – 9:31 po południu

Jednym z najlepszych narzędzi służących do minimalizacji objętości kodu i zastępowania zmiennych jest ECMAScript Cruncher (ESC), napisany przez Thomasa Loo. ESC to niewielki skrypt powłoki systemu Windows (Windows Shell Script), który usuwa wszystkie komentarze, znali tabulacji i spacji, przejścia do nowego wiersza, potrafi także „inteligentnie” zmieniać nazwy mało znaczących zmiennych. A co najważniejsze jest darmowy.

Można go ściągnąć z tej strony: http://www.saltstorm.net/depo/esc/

Aby uruchomić konsolę, klikamy na menu Start i na Uruchom. Wpisujemy polecenie “cmd” wywołujące konsolę. Możemy się posługiwać poleceniami cd.. cd x:\ aby przejść do folderu z programem ESC.

Po rozpakowaniu przechodzimy do folderu z ESC i uruchamiamy ESC.wsf, jeżeli nie uruchomi się, należy zrobić to przez konsole.

Wpisujemy polecenie w następującym formacie:

x:\csript x:\ESC.wsf –l [0-4] –ow plikwyjściowy.js plikwejściowy.js [plikwejściowy2]

gdzie: x – ścieżka do folderu z ESC

Czyli najpierw podajemy ścieżkę do folderu z ESC, teraz polecenie cscript, to interpreter powłoki Windows. Plik o nazwie ESC.wsf to właściwy program ESC. Po nazwie pliku podajemy poziom reorganizacji skryptu, jest to liczba z przedziału 0-4, wskazuje ona poziom optymalizacji. Dalej podajemy najpierw nazwę pliku, do jakiego zostanie zapisany skompresowany kod. Na samym końcu podajemy plik, który ma zostać poddany optymalizacji, możemy podać większą liczbę plików (wówczas zostaną one po zoptymalizowaniu po kolei zapisane w pliku wyjściowym).

Poziomy optymalizacji:

0 – Nie kompresuje pliku i nie zmienia, optymalizuje skryptu. Ta opcja może być wykorzystana do scalania kilku plików w jeden.

1 – ESC usuwa puste linie (\r?\n)+, pojedyncze i wielowierszowe komentarze (//…, /* … */) i białe znaki. [ \t]+\r?\n

2 – Optymalizuje tak jak w pierwszym poziomie i dodatkowo usuwa znaki tabulacji i spacji (\s\t\r).

3 – Optymalizacja na poziomie 2 oraz usuwa znaki nowego wiersza (\r?\n)

4 – Tak jak na poziomie 3 oraz zastępowanie nazw zmiennych.

ESC doskonale radzi sobie z zastępowaniem nazw zmiennych nazwami, które nic nie znaczą i zmniejszają liczbę znaków. Program jest na tyle „inteligentny”, że potrafi również zmienić nazwy prywatnych właściwości i metod obiektów (czyli zgodnie z przyjętymi zasadami, nazwy poprzedzone i zakończone dwoma znakami podkreślania).

Program nie zmienia nazw konstruktorów, właściwości publicznych oraz metod publicznych. Należy pamiętać tylko o jednej rzeczy, że gdy w pliku JS znajduje się odwołanie do konstruktora znajdującego się w innym pliku, to zostanie on zastąpiony nazwą stworzoną przez ESC. Aby uniknąć problemów, trzeba obydwa pliki wprowadzić do optymalizacji i zapisaniu w jednym pliku, dzięki temu nazwa konstruktora pozostanie niezmieniona.

Pages: 1 2

Post a Comment