Přejít k navigační liště

Zdroják » Zprávičky » JSMin+ : minimalizátor JavaScriptu v PHP

JSMin+ : minimalizátor JavaScriptu v PHP

K dispozici je řada minimalizátorů javascriptového kódu. Tino Zijdelovi se ale žádný z nich nezamlouval a rozhodl se napsat vlastní. Tak vznikl JSMin+. Ovšem velmi zajímavý je rozbor, který Tino sepsal a ve kterém nejenže zmiňuje stávající minimalizátory, ale hlavně detailně popisuje, jak postupoval při tvorbě toho svého.

Po špatné zkušenosti se stávajícími minimalizátory, které často nebyly schopny zpracovat libovolný javascriptový kód, bylo Tinovi jasné, že jeho minimalizátor musí obsahovat regulérní parser JavaScriptu. To by znamenalo buď nastudovat celou specifikaci nebo použít hotové řešení. Tino zvolil druhou cestu a vyšel z projektu Narcissus, což je parser JavaScriptu napsaný v JavaScriptu samotným Brendanem Eichem. Přepsat tento kód do PHP již nebyl velký problém, pak již stačilo jen zapojit optimalizační kroky a bylo hotovo. Jednou z výhod je, že pokud se do javascriptového souboru dostane syntaktická chyba, zjistíte to okamžitě už na serveru (minimalizátor to může zalogovat).

Na výsledek se můžete podívat sami: původní kód, minimalizovaný kód.

Všimněte si, že Tino se nesnaží o maximální možnou minimalizaci, ale jen o rozumnou minimalizaci, takže např. zachovává názvy funkcí, proměnných, deklarace funkcí nechává na samostatných řádkách atd. Tím pochopitelně nemůže konkurovat stávajícím minimalizátorům, na druhou stranu výsledný kód je za nouzových podmínek čitelný a při výskytu problému, je možné jej lokalizovat (což se o většině stávajících minimalizátorů říct nedá). Možná bychom tak tento nástroj měli přejmenovat na optimalizátor, protože to lépe vystihuje to, co dělá.

Líbí se vám Tinův přístup nebo máte raději stávající minimalizátory?

Komentáře

Odebírat
Upozornit na
guest
1 Komentář
Nejstarší
Nejnovější Nejvíce hlasů

WebSocket: Jak dostat webovou aplikaci do reálného času

Chat, živé notifikace, společná úprava dokumentu nebo průběžně aktualizované kurzy. Uživatelé dnes čekají, že se webová aplikace změní ve chvíli, kdy se změní data, a ne až po stisknutí klávesy F5. Protokol WebSocket je nejrozšířenější způsob, jak mezi prohlížečem a serverem vytvořit trvalý obousměrný kanál. V článku se podíváme, jak funguje pod kapotou, jak ho použít v prohlížeči i na serveru a na co si dát pozor při nasazení do produkce.

Zahoďte knihovny: dropdowny, tooltipy a přechody stránek jen s HTML a CSS

Rozbalovací menu, tooltip, modální okno a plynulý přechod mezi stránkami. Ještě nedávno čtyři důvody, proč do projektu přidat několik knihoven a desítky kilobajtů JavaScriptu. V roce 2026 už to všechno zvládne prohlížeč sám. Ukážeme si, jak na to s Popover API, CSS anchor positioningem a View Transitions, a také kde mají své limity.

Rok po Shai-Hulud: co se změnilo na npm a co musíte udělat do ledna

Před rokem začal registrem npm procházet samošířící červ Shai-Hulud. Od té doby se útoky na dodavatelský řetězec JavaScriptu staly pravidelnou záležitostí a npm postupně přepisuje pravidla publikování. Projdeme, co se za ten rok stalo, jak dnes bezpečně publikovat balíček, co musíte stihnout do ledna 2027 a jak se bránit jako uživatel balíčků.