Czy istnieje narzędzie online, do którego możemy wprowadzić źródło HTML strony i które zminimalizuje kod?
Zrobiłbym to dla plików aspx, ponieważ nie jest dobrym pomysłem, aby serwer sieciowy je zgzował ...
Czy istnieje narzędzie online, do którego możemy wprowadzić źródło HTML strony i które zminimalizuje kod?
Zrobiłbym to dla plików aspx, ponieważ nie jest dobrym pomysłem, aby serwer sieciowy je zgzował ...
Odpowiedzi:
Być może wypróbuj program HTML Compressor , oto tabela przed i po pokazująca, co może zrobić (w tym dla samego przepełnienia stosu):
Zawiera wiele opcji optymalizacji stron, w tym minimalizację skryptów (ompressor, Google Closure Compiler, Twój własny kompresor) tam, gdzie byłoby to bezpieczne. Domyślny zestaw opcji jest dość konserwatywny, więc możesz zacząć od tego i eksperymentować z włączaniem bardziej agresywnych opcji.
Projekt jest bardzo dobrze udokumentowany i wspierany.
Nie rób tego . Lub raczej, jeśli nalegasz, zrób to po zakończeniu bardziej znaczących optymalizacji witryny. Szanse są bardzo duże, że koszt / korzyść takiego wysiłku jest znikoma, zwłaszcza jeśli planujesz ręcznie używać narzędzi online do obsługi każdej strony.
Użyj YSlow lub Page Speed, aby określić, co naprawdę musisz zrobić, aby zoptymalizować swoje strony. Domyślam się, że zmniejszenie liczby bajtów HTML nie będzie największym problemem Twojej witryny. O wiele bardziej prawdopodobne jest, że kompresja, zarządzanie pamięcią podręczną, optymalizacja obrazu itp. Będą miały większy wpływ na ogólną wydajność Twojej witryny. Te narzędzia pokażą Ci, jakie są największe problemy - jeśli poradziłeś sobie ze wszystkimi i nadal okaże się, że minifikacja HTML robi znaczącą różnicę, zrób to.
(Jeśli jesteś pewien, że chcesz to zrobić i używasz serwera httpd Apache, możesz rozważyć użycie mod_pagespeed i włączenie niektórych opcji w celu zmniejszenia białych znaków itp., Ale pamiętaj o ryzyku ).
white-space: pre
, a minifikacja zniszczy wstępnie sformatowany tekst.
white-space:pre
, to tak, kompresja HTML byłaby bardziej złożona. Nie rozumiem jednak, dlaczego ktoś miałby chcieć używać spacji: pre zamiast używać elementu pre
lub code
.
Oto krótka odpowiedź na twoje pytanie: powinieneś zminimalizować swój HTML, CSS, JS . Istnieje łatwe w użyciu narzędzie zwane chrząknięciem . Pozwala zautomatyzować wiele zadań. Wśród nich JS , CSS , minifikacja HTML , konkatenacja plików i wiele innych .
Napisane tutaj odpowiedzi są skrajnie nieaktualne, a czasem wręcz nie mają sensu. Wiele się zmieniło od starego 2009 roku, więc spróbuję odpowiedzieć na to poprawnie.
Krótka odpowiedź - zdecydowanie powinieneś zminimalizować HTML . Dziś jest to trywialne i daje około 5% przyspieszenia . Aby uzyskać dłuższą odpowiedź, przeczytaj całą odpowiedź
W dawnych czasach ludzie ręcznie minimalizowali css / js (uruchamiając go za pomocą specjalnego narzędzia w celu zminimalizowania). Ciężko było zautomatyzować ten proces i zdecydowanie wymagało pewnych umiejętności. Wiedząc, że wiele witryn wysokiego poziomu nawet teraz nie używa gzip (co jest trywialne), zrozumiałe jest, że ludzie niechętnie zajmowali się minimalizacją html.
Dlaczego więc ludzie minifikowali js, ale nie html ? Podczas zmniejszania JS wykonujesz następujące czynności:
var isUserLoggedIn
na var a
)Co dawało dużą poprawę nawet w dawnych czasach. Ale w html nie można było w skrócie zmienić długich nazw, również w tym czasie nie było prawie nic do komentowania. Więc jedyne, co pozostało, to usunąć spacje i znaki nowej linii. Co daje tylko niewielką poprawę.
Jeden błędny argument tutaj napisany jest taki, że ponieważ zawartość jest obsługiwana przez gzip, minifikacja nie ma sensu. To jest całkowicie błędne. Tak, ma sens, że gzip zmniejsza poprawę minifikacji, ale po co gzipować komentarze, białe spacje, jeśli można je odpowiednio przyciąć i gzip tylko ważną część. To tak samo, jakbyś miał folder do zarchiwizowania, który zawiera jakieś bzdury, których nigdy nie użyjesz, i decydujesz się po prostu go spakować, zamiast czyścić i spakować.
Kolejnym argumentem, dlaczego minifikacja nie ma sensu, jest to, że jest to nudne. Może tak było w 2009 roku, ale po tym czasie pojawiły się nowe narzędzia. W tej chwili nie musisz ręcznie zmniejszać swoich znaczników. W przypadku rzeczy takich jak Grunt instalacja grunt-contrib-htmlmin (opiera się na HTMLMinifier od @kangax) i skonfigurowanie go do zminimalizowania HTML jest trywialne . Wszystko, czego potrzebujesz, to około 2 godzin, aby nauczyć się pomrukiwać i wszystko skonfigurować, a potem wszystko odbywa się automatycznie w mniej niż sekundę. Wygląda na to, że 1 sekunda (którą można nawet zautomatyzować, aby nic nie robić za pomocą funkcji grunt-contrib-watch ) nie jest tak zła dla około 5% poprawy (nawet przy użyciu gzip).
Kolejnym argumentem jest to, że CSS i JS są statyczne , a HTML jest generowany przez serwer, więc nie można go wstępnie zminifikować. Był to również prawda w 2009 roku, ale obecnie więcej i więcej miejsca są patrząc jak jeden app strony, gdzie serwer jest cienka, a klient robi cały routing, templating i inne logiki. Serwer dostarcza więc tylko JSON, a klient go renderuje. Tutaj masz dużo kodu HTML dla strony i różne szablony.
Więc na koniec moje przemyślenia:
<span>
.). Przede wszystkim zawsze możesz znaleźć sposób na napisanie prawidłowego kodu HTML, dzięki czemu będzie on agnostyczny. Również możesz być zaskoczony, ale minifier JS / CSS może również wprowadzić błąd - co nie oznacza, że nie powinieneś go używać. Tak więc dwa sposoby rozwiązania problemu: naucz się pisać niezależne od białych znaków znaczniki, przetestuj swój produkt przed / po minifikacji (CSS / HTML / JS). Również w Minifier możesz określić, które spacje chcesz zachować.
* { white-space: pre; }
jest oczywiste, ale jeśli usuwasz wszystkie białe znaki, a nie tylko zwijasz je (zastępując je marginesami), tekst może się niepoprawnie kopiować i siać spustoszenie w przeglądarkach tekstowych i czytnikach ekranu.
Napisałem narzędzie internetowe do minifikacji HTML. http://prettydiff.com/?m=minify&html
To narzędzie działa według następujących zasad:
style
Zakłada się, że cała zawartość tagu jest CSS i jako taka jest zminimalizowanascript
Zakłada się, że cała zawartość tagu jest JavaScriptem, chyba że podano inny typ multimediów, a następnie zminimalizowano jako taką<!--[if IE 8.0]><link rel="stylesheet" href="css/ie8.css" type="text/css" /><![endif]-->
To zadziałało dla mnie:
http://minify.googlecode.com/git/min/lib/Minify/HTML.php
Nie jest to już dostępne narzędzie online, ale bycie prostym PHP jest dość łatwe, możesz je po prostu uruchomić samodzielnie.
Nie zapisałbym jednak skompresowanych plików, rób to dynamicznie, jeśli naprawdę musisz, i zawsze lepiej jest włączyć kompresję serwera Gzip. Nie wiem, jak to jest zaangażowane w IIS / .Net, ale w PHP jest to tak proste, jak dodanie jednej linii do globalnego pliku dołączanego
CodeProject ma opublikowany przykładowy projekt ( http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900 ) do obsługi niektórych z następujących sytuacji. .
Dla platformy Microsoft .NET istnieje biblioteka o nazwie WebMarkupMin , która generuje minimalizację kodu HTML.
Dodatkowo istnieje moduł do integracji tej biblioteki z ASP.NET MVC - WebMarkupMin.Mvc .
wypróbuj http://code.mini-tips.com/html-minifier.html , to jest biblioteka .NET Libary dla Html Minifier
HtmlCompressor to mała, szybka i bardzo łatwa w użyciu biblioteka .NET, która minimalizuje dane źródło HTML lub XML poprzez usuwanie dodatkowych białych znaków, komentarzy i innych niepotrzebnych znaków bez naruszania struktury treści. W rezultacie strony stają się mniejsze i ładują się szybciej. Dostępna jest również wersja kompresora uruchamiana z wiersza poleceń.