2014
08.06

Closure je scriptík, bez kterého se dá žít. Nejenom cyber-eko-aktivisté bojující za snižování přenosů dat však mohou pocítit potřebu servírovat s úctou k uživateli i serveru data v co nejmenším balení.

Closure miminalizuje java script kódy. Nejedná se o žádný zázrak. Odmaže nepotřebný mezery komentáře atd. Těch je celkem dost. Closure není kompresor, takže nějaký rezervy tam ještě jsou. Je free a funguje jako příkazový řádek. V tom je obrovská síla s jakou se dají zefektivitnit některé rutiny.

Stažení Google Closure

Vždy aktuální verze se nachází na tomto linku:

http://dl.google.com/closure-compiler/compiler-latest.zip

Úkolem je stáhnout a rozbalit do nějaký složky. Já jsem si založil D:\compiler na počest názvu skriptíku.

Měli bychom dosáhnout tohoto stavu:

Closure - rozbaleno

Velikosti souboru se budou lišit podle verze, ale to nevadí.

Spuštění

I když má soubor compiler.jar hezkou ikonku, tak když na ní klikneme, nic se nestane. To proto, že není žádne UI rozhraní. Tedy, že autoři se nezdržovali s žádnými okýnky atp. Kdo ještě nechápe proč, měl by tenhle artikl dočíst.

S Closure se kouzlí v příkazovém řádku. Nebo-li v comandlajnu. Zde zadáváme jednoduchý příkaz, ve kterém je directiva říkající: který soubor se má vzít a pod jakým názvem uložit.

d:\compiler>java -jar compiler.jar --js_output_file=file.js file.min.js

V tomto případě se předpokládá, že soubor, který chceme převést je připravený ve složce d:\compiler

Zatím žádná paráda. Pointa totiž přijde až na závěr.

V reálném projektu máme většinou více souborů, které se průběžně mění. Představa postupného předpisování a vykopírovávání je šílená, skoro až děsivá. Fuj. Přesto právě zde je řešení. Vytvoříme si totiž tzv. batch script, který udělá veškerou špinavou práci na jedno kliknutí.

V poznámkovým bloku si vytvoříme soubor s příponou .bat takže např. project.bat

Uvnitř tohoto souboru bude: (V jednom řádku! rozepsal jsem to na víc řádku kvůli pochopení části příkazu. A taky by se mi to nevešlo.)

java
-jar D:/compiler/compiler.jar
--js_output_file=project/all.min.js
project/js-1.js project/js-2.js project/js-3.js

Pokud po uložení soubor spustíme, vytvoří nám Closure 1 minimalizovaný soubor s názvem `all.min.js` uvnitř kterého budou seskládány 3 soubory. Stránka, která scripty využívá pak může pracovat pouze s jedním souborem, což je ideální kvůli DNS look up.

Pokud dojde k nějaké změně v některém ze skriptů, jednoduše pustíme připravený batch, který připraví aktualizovanou verzi pro online. Jedním kliknutím. Takže stačí si k projektíkům vytvořit jednotlivý batche, na míru nakonfigurovaný podle potřeb projektu.

V –helpu se dá najít dalších pár příkladů. Smyslem těchto řádků bylo nastínit jednoduchý trik exportu java script souborů pro výstup.

Poznámka na závěr. Celá tahle paráda se dá zařídit on-line tím, že si budeme generovat scripty dynamicky. Nebo-li dosadíme nějaké java.php a necháme pracovat. Je to také řešení. Myslím ale, že v rámci mikrooptimalizace by v momentě kdy je jasné, že .js leží beze změn, měl být k dispozci jeden soubor a nezatěžovat se neustálým generováním.

Comments are closed.

ENVATO FLASH STOCK ENVATO THEME FOREST

CBDB.cz - moje knihy