Przejdź do treści
FileSlimmer
Narzędzia
Poradniki

Narzędzia do kodu

Te trzy narzędzia parsują Twój kod źródłowy, przepisują go i wypisują z powrotem. Nigdy go natomiast nie uruchamiają. Ta różnica to tutaj cały model bezpieczeństwa — wymuszony w kodzie, a nie obiecany w zdaniu.

Twój kod jest parsowany, nigdy uruchamiany

Minifikator musi zrozumieć Twój kod, czyli sparsować go do drzewa składniowego i wypisać to drzewo z powrotem. Niczego nie musi przy tym wykonywać i ten tego nie robi: nie ma tu eval, nie ma dynamicznego Function ani podglądu, który uruchamiałby Twój skrypt.

Najbardziej liczy się to przy SVG. SVG jest dokumentem wykonywalnym — może nieść skrypty, procedury zdarzeń i adresy javascript:. Każde z nich jest usuwane dwukrotnie: raz przez własną regułę optymalizatora, a drugi raz przez niezależny przebieg, który idzie zaraz po niej, bo pojedynczy filtr z pojedynczym błędem to jeszcze nie model bezpieczeństwa.

Ile naprawdę oszczędza minifikacja

Usunięcie białych znaków i skrócenie nazw lokalnych zdejmuje zwykle jedną trzecią surowego źródła. Większość dalszego zysku daje kompresja na Twoim serwerze, a nie minifikator, więc realnym punktem odniesienia jest plik zminifikowany, a potem spakowany gzipem — nie liczba surowych bajtów.

Importy zostają nietknięte

Reguła @import w CSS zostaje zachowana jako tekst albo usunięta na życzenie. Nigdy nie jest rozwijana: pobranie tego, na co wskazuje, oznaczałoby, że ta strona wysłała w Twoim imieniu żądanie dotyczące pliku wklejonego tutaj przez Ciebie — a cała reszta serwisu jest zbudowana właśnie po to, żeby tego nie robić.

Poradniki

Poradniki