Frage

Warum schlagen die Leute vor, Web -Assets wie CSS und JavaScript zu minimieren, aber sie schlagen nie vor, dass das Markup abgebrochen wird? CSS und JavaScript können auf vielen verschiedenen Seiten verwendet werden, während das Markup jedes Mal geladen wird, wodurch das Markup weitaus wichtiger wird.

War es hilfreich?

Lösung

Ein wahrscheinlicher Grund ist, dass sich Markup in der Regel viel häufiger ändert und für jede Seitenlast abgebaut werden muss. Zum Beispiel gibt es auf einer bestimmten Stack -Überlaufseite Zeitstempel, Benutzernamen und Wiederholungszahlen, die sich mit jeder Seite ändern könnten, dh Sie müssten auch für jede Seite laden. Mit "statischen" Dateien wie CSS und JavaScript können Sie weitaus seltener minimieren. In den Köpfen einiger ist es die Arbeit im Voraus wert.

Bedenken Sie auch, dass jeder große Webserver und jeder Browser GZIP unterstützen, das Ihr ganzes Markup komprimiert (schnell) Wie auch immer. Da das Minimieren langsamer und sowieso viel weniger effektiv ist als GZIPPing, können Webmaster entscheiden, dass das Miniming für jede Seitenlast die Verarbeitungskosten nicht wert ist.

Andere Tipps

Die hier geschriebenen Antworten sind extrem veraltet oder machen manchmal keinen Sinn. Viele Dinge haben sich gegenüber dem alten 2009 geändert, also werde ich versuchen, dies richtig zu beantworten.

Kurze Antwort - Sie sollten auf jeden Fall HTML minifieren. Es ist heute trivial und gibt ungefähr 5% Beschleunigung. Für eine längere Antwort lesen Sie die ganze Antwort

In den alten Zeiten minderten die Menschen CSS/JS manuell (indem sie es durch ein bestimmtes Werkzeug zum Minimieren durchführten). Es war schwierig, den Prozess zu automatisieren und erforderte definitiv einige Fähigkeiten. Da es weiß, dass viele Standorte auf hohem Niveau im Moment nicht Gzip verwenden (was trivial ist), ist es verständlich, dass Menschen das Minimieren von HTML ungern zögern.

Warum minitierten die Leute JS, aber nicht HTML?? Wenn Sie JS minifieren, machen Sie die folgenden Dinge:

  • Kommentare entfernen
  • Entfernen Sie Rohlinge (Registerkarten, Räume, Newlines)
  • Ändern Sie lange Namen zu kurz (var isUserLoggedIn zu var a)

Das gab auch in alten Tagen viel Verbesserung. Aber in HTML konnten Sie kurz nicht lange Namen ändern, auch in dieser Zeit gab es fast nichts zu kommentieren. Das einzige, was übrig blieb, ist das Entfernen von Räumen und Newlines. Was nur eine geringe Menge an Verbesserung ergibt.

Ein hier geschriebenes falsches Argument ist, dass die Minifikation nicht sinnvoll ist, weil Inhalte mit GZIP serviert werden. Das ist völlig falsch. Ja, es ist sinnvoll, dass GZIP die Verbesserung der Minifikation verringert, aber warum sollten Sie GZIP -Kommentare, Weißespaces sollten, wenn Sie sie richtig schneiden und nur einen wichtigen Teil von GZIP haben können. Es ist dasselbe, als hätten Sie einen Ordner zum Archivieren, der einen Mist enthält, den Sie nie verwenden werden, und Sie entscheiden sich, ihn einfach zu rollen, anstatt es aufzuräumen und zu rippen.

Ein weiteres Argument, warum es sinnlos ist, eine Minifikation zu machen, ist, dass es mühsam ist. Vielleicht war dies 2009 wahr, aber nach dieser Zeit erschienen neue Tools. Im Moment müssen Sie Ihr Markup nicht manuell minifieren. Mit Dingen wie Grunzen Es ist trivial zu installieren Grunzen-contrib-htmlmin und um es zu konfigurieren, um Ihre HTML zu minimieren. Alles, was Sie brauchen, ist wie 2 Stunden, um Grunzen zu lernen und alles zu konfigurieren, und dann wird alles automatisch in weniger als einer Sekunde durchgeführt. Klingt so 1 Sekunde (was Sie sogar automatisieren können, um nichts mitzuhalten Grunzen-Contrib-Watch) ist für ungefähr 5% der Verbesserung nicht wirklich so schlecht (auch mit GZIP).

Ein weiterer Argument ist, dass CSS und JS statisch sind, und HTML wird vom Server generiert, sodass Sie es nicht vorab vorab. Dies war auch im Jahr 2009 wahr, aber derzeit mehr und mehr Websites sehen aus wie eine einzelne Seiten -App, bei der der Server dünn ist und der Client alle Routing, Vorlagen und andere Logik durchführt. Der Server gibt Ihnen also nur JSON Und der Kunde macht es. Hier haben Sie viel HTML für die Seite und verschiedene Vorlagen.

Also, um meine Gedanken zu beenden:

  • Google minimiert HTML.
  • PageSpeed bittet Sie, HTML zu minimieren
  • Es ist trivial zu tun
  • Es gibt ~ 5% der Verbesserung
  • Es ist nicht dasselbe wie Gzip

Bedenken Sie:

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Demo</title>
<link rel="stylesheet" type="text/css" href="nonminify.css"/>
</head>
<body>
<div title="My   non   minifiable   page">
    <p class="http://www.example.com/classes/class/lorem-ipsum">

            Lorem ipsum dolor sit amet, consectetur adipisicing elit, 

            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 

            Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 

            nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 

            reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 

            pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 

            culpa qui officia deserunt mollit anim id est laborum.

    </p>
</div>
</body>
</html>

Mit dieser CSS -Datei:

div[title="My   non   minifiable   page"] 
      p[class~="http://www.example.com/classes/class/lorem-ipsum"]
{
    white-space:pre;
}

Angesichts der Tatsache ist es für einen HTML -Minifikator effektiv unmöglich, der nur die HTML -Datei sehen kann, um alles zu finden, was sie sicher minifieren kann.

Ich nehme an, es ist schwierig, weil manchmal Dinge wie weißer Raum zum Formatieren verwendet werden, vielleicht je nach DocType.

Seitengeschwindigkeit empfiehlt das Minimieren von Markup:

http://code.google.com/speed/pagespeed/docs/payload.html#minifyhtml

Markup wird heutzutage in der Regel dynamisch erzeugt, und selbst wenn statisch ein paar Seiten sind. JavaScript und CSS werden normalerweise in einer Art von Datei pro Standort abgebaut und daher viel einfacher manuell (oder das Skript) zu minimieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top