HTML-Minifizierung? [closed]

Lesezeit: 10 Minuten

HTML Minifizierung closed
Paulo

Gibt es ein Online-Tool, das wir eingeben können HTML Quelle einer Seite in und wird den Code verkleinern?

Ich würde das für Aspx-Dateien tun, da es keine gute Idee ist, den Webserver dazu zu bringen, sie zu gzip …

  • Wann ist es eine schlechte Idee, den Server gzip zu haben?

    – Chuck

    8. April 2009 um 2:24 Uhr

  • Ich habe gelesen, dass, da die Aspx-Seiten keine statischen Dateien sind, sie nicht von IIS zwischengespeichert werden und die Seite bei jeder Anfrage gzip wird …

    – Paolo

    8. April 2009 um 2:28 Uhr

  • …und ist das ein Problem? Es sei denn, Ihr Server hat bereits 99,9 % CPU, wahrscheinlich nicht. gzipping ist die übliche Vorgehensweise und viel effektiver als jede “Minifizierung”.

    – Bobin

    8. April 2009 um 9:07 Uhr

  • Das scheint ziemlich interessant zu sein: perfectionkills.com/experimenting-with-html-minifier kangax.github.com/html-minifier

    – StefanS

    13. Juli 2010 um 11:28 Uhr

  • Die Antworten hier sind veraltet, ganz zu schweigen davon, dass einige von ihnen falsch sind. Bitte überprüfen Sie meine Erklärung zum Problem und dem richtigen Tool.

    – Salvador Dalí

    17. März 2014 um 5:17 Uhr


Vielleicht versuchen HTML-Kompressorhier ist eine Vorher-Nachher-Tabelle, die zeigt, was es tun kann (einschließlich für Stack Overflow selbst):

Entschuldigung, Markdown hat kein Konzept von Tabellen

Es bietet viele Auswahlmöglichkeiten zur Optimierung Ihrer Seiten bis hin zur Skriptminimierung (Ompressor, Google Closure Compiler, Ihr eigener Kompressor), wo es sicher wäre. Der Standardoptionssatz ist ziemlich konservativ, Sie können also damit beginnen und mit der Aktivierung aggressiverer Optionen experimentieren.

Das Projekt ist sehr gut dokumentiert und unterstützt.

HTML Minifizierung closed
Zac Thompson

Tu das nicht. Oder besser gesagt, wenn Sie darauf bestehen, tun Sie es, nachdem alle bedeutenderen Website-Optimierungen abgeschlossen sind. Die Chancen sind sehr hoch, dass die Kosten/Nutzen für diesen Aufwand vernachlässigbar sind, insbesondere wenn Sie vorhatten, Online-Tools manuell zu verwenden, um jede Seite zu bearbeiten.

Verwenden Ylangsam oder Seitengeschwindigkeit zu bestimmen, was Sie Ja wirklich tun müssen, um Ihre Seiten zu optimieren. Ich vermute, dass das Reduzieren von HTML-Bytes nicht das größte Problem Ihrer Website sein wird. Es ist viel wahrscheinlicher, dass Komprimierung, Cache-Verwaltung, Bildoptimierung usw. einen größeren Unterschied zur Leistung Ihrer Website insgesamt machen. Diese Tools werden Ihnen zeigen, was die größten Probleme sind – wenn Sie sich mit allen befasst haben und immer noch feststellen, dass die HTML-Minifizierung einen signifikanten Unterschied macht, machen Sie es.

(Wenn Sie sicher sind, dass Sie es versuchen möchten, und Sie Apache httpd verwenden, sollten Sie die Verwendung von mod_pagespeed und aktivieren Sie einige der Optionen zum Reduzieren von Leerzeichen usw., aber seien Sie sich dessen bewusst Die Risiken.)

  • Was ist falsch an der Optimierung, wenn verkleinerter Code durch automatische Verschönerung leicht lesbar ist?

    Austin Cheney

    1. Januar 2010 um 15:33 Uhr

  • Es ist wahrscheinlich nicht das größte Problem – aber wenn es ein trivialer Prozess ist, Markups beim Kompilieren von dev nach qa oder prod durch einen minifizierenden Satz von Regexs zu führen, warum sollten Sie dann nicht kleinere Markup-Dokumente versenden?

    – Will Peavy

    5. Januar 2010 um 14:43 Uhr

  • Nicht wirklich eine Antwort auf die ursprüngliche Frage 🙁

    – Chuck Le Butt

    23. Juni 2010 um 11:18 Uhr

  • @ Will, es ist fast sicher nicht ein trivialer Prozess, um HTML durch das Minimieren von regulären Ausdrücken auszuführen, und selbst mit einem geeigneten Parser ist es wahrscheinlich nicht trivial oder schnell. Darüber hinaus ist die HTML-Minifizierung im Gegensatz zur JS/CSS-Minifizierung nicht verlustfrei: Jedes Tag kann so gestaltet werden white-space: preund die Verkleinerung würde den vorformatierten Text zerstören.

    – Lidlosigkeit

    8. Februar 2011 um 21:18 Uhr

  • @eyelidlessness – Ich habe derzeit Tausende von Seiten, die von regulären Ausdrücken minimiert werden, bevor sie bereitgestellt werden. Diese Funktion ist kein komplexer oder teurer Teil des Systems. … Auf der anderen Seite, wenn Sie den berechneten Stil parsen wollten, um das Minimieren von Elementen zu vermeiden, die mit gestaltet wurden white-space:pre, dann ja, das Minimieren von HTML wäre komplexer. Mir ist jedoch nicht klar, warum jemand white-space:pre verwenden möchte, anstatt a zu verwenden pre oder code Element.

    – Will Peavy

    12. Mai 2011 um 17:41 Uhr

HTML Minifizierung closed
Salvador Dalí

Hier eine kurze Antwort auf Ihre Frage: Sie sollten Ihr HTML, CSS, JS verkleinern. Es gibt ein einfach zu bedienendes Tool, das aufgerufen wird grunzen. Es ermöglicht Ihnen, viele Aufgaben zu automatisieren. Unter ihnen JS, CSS, HTML Verkleinerung, Dateiverkettung und viele andere.

Die hier geschriebenen Antworten sind extrem veraltet oder sogar manchmal nicht sinnvoll. Viele Dinge haben sich seit 2009 geändert, also werde ich versuchen, dies richtig zu beantworten.

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

Früher haben die Leute css/js manuell minimiert (indem sie es durch ein bestimmtes Tool ausgeführt haben, um es zu minimieren). Es war ziemlich schwierig, den Prozess zu automatisieren und erforderte definitiv einige Fähigkeiten. Wenn man weiß, dass viele High-Level-Sites auch jetzt noch kein gzip verwenden (was trivial ist), ist es verständlich, dass die Leute zögerten, HTML zu verkleinern.

Warum haben die Leute js minimiert, aber nicht html?? Wenn Sie JS minimieren, tun Sie Folgendes:

  • Kommentare entfernen
  • Leerzeichen entfernen (Tabs, Leerzeichen, Zeilenumbrüche)
  • ändere lange Namen in kurze (var isUserLoggedIn zu var a)

Was auch in alten Zeiten eine Menge Verbesserungen brachte. Aber in html konnte man lange Namen nicht kurz ändern, auch gab es in dieser Zeit fast nichts zu kommentieren. Also blieb nur noch das Entfernen von Leerzeichen und Zeilenumbrüchen. Was nur eine geringe Verbesserung bringt.

Ein hier geschriebenes falsches Argument ist, dass eine Minimierung keinen Sinn macht, da Inhalte mit gzip bereitgestellt werden. Das ist völlig falsch. Ja, es macht Sinn, dass gzip die Verbesserung der Minimierung verringert, aber warum sollten Sie Kommentare und Leerzeichen gzip, wenn Sie sie richtig kürzen und nur den wichtigen Teil gzip. Es ist dasselbe, als ob Sie einen Ordner zu archivieren haben, der irgendeinen Mist enthält, den Sie nie verwenden werden, und Sie entscheiden, ihn einfach zu komprimieren, anstatt ihn zu bereinigen und zu komprimieren.

Ein weiteres Argument, warum die Minimierung sinnlos ist, ist, dass sie mühsam ist. Vielleicht war das 2009 so, aber nach dieser Zeit erschienen neue Tools. Im Moment müssen Sie Ihr Markup nicht manuell minimieren. Mit Dingen wie Grunzen es ist trivial zu installieren grunt-beitrag-htmlmin (beruht auf HTMLMinifier von @kangax) und um es so zu konfigurieren, dass es Ihr HTML minimiert. Alles, was Sie brauchen, ist etwa 2 Stunden, um Grunzen zu lernen und alles zu konfigurieren, und dann wird alles automatisch in weniger als einer Sekunde erledigt. Klingt nach 1 Sekunde (mit der Sie sogar automatisieren können, nichts damit zu tun grunt-beitragen-watch) ist mit ca. 5 % Verbesserung (selbst mit gzip) gar nicht so schlecht.

Ein weiteres Argument ist, dass CSS und JS statisch sind, und HTML wird vom Server generiert, sodass Sie es nicht vorab minimieren können. Das galt auch 2009, aber aktuell mehr und mehr Websites sehen aus wie eine Single-Page-App, bei der der Server dünn ist und der Client das gesamte Routing, die Vorlagenerstellung und andere Logik übernimmt. Der Server gibt Ihnen also nur JSON und Client rendert es. Hier haben Sie viel HTML für die Seite und verschiedene Vorlagen.

Also um meine Gedanken zu beenden:

  • Google minimiert HTML.
  • Seitengeschwindigkeit fordert Sie auf, HTML zu minimieren
  • es ist trivial zu tun
  • es gibt ~5% Verbesserung
  • es ist nicht dasselbe wie gzip

  • Minfying HTML ist absolut nicht trivial, da Whitespace in HTML von Bedeutung ist und ob ein bestimmter Whitespace entfernt werden kann, hängt von CSS ab. Außerdem sind Thin Clients schrecklich und können meiner Meinung nach nicht als gutes Argument gegen die Probleme der Minimierung von dynamischem HTML angeführt werden. (Eine gute Möglichkeit, dies zu tun, ist die Auswahl einer Vorlagen-Engine [Haml, Jade, etc.] das in seiner gerenderten Ausgabe überhaupt keine unnötigen Leerzeichen enthält.)

    – Ry-

    10. August 2014 um 16:57 Uhr

  • @minitech Minimierung von HTML ist trivial Außerdem gibt es nur wenige mögliche Probleme mit Leerzeichen (wie <span>). Zuallererst können Sie immer einen Weg finden, gültiges HTML zu schreiben, das Whitespace-agnostisch macht. Sie werden vielleicht auch überrascht sein zu hören, dass JS/CSS-Minifier auch einen Fehler einführen kann – was nicht bedeutet, dass Sie es nicht verwenden sollten. Es gibt also zwei Möglichkeiten, Ihr Problem zu lösen: Lernen Sie, Whitespace-agnostisches Markup zu schreiben, testen Sie Ihr Produkt vor/nach der Minifizierung (CSS/HTML/JS). Auch in Minifier können Sie angeben, welche Leerzeichen Sie beibehalten möchten.

    – Salvador Dalí

    11. August 2014 um 5:50 Uhr


  • Korrekte JavaScript-Minimierer für nicht verrückten Code (dh Code, der sich nicht selbst liest oder durch Timing betrügt) können keinen Fehler einführen. Und nein, es gibt nicht immer eine Möglichkeit, Whitespace-agnostisches HTML zu schreiben, insbesondere weil HTML wiederum nicht Whitespace-agnostisch ist. Überhaupt. Stellen Sie sicher, dass Sie das Kopieren und Einfügen testen, wenn Sie glauben, dass die Ränder es ausschneiden. Anzugeben, welche Leerzeichen ich beibehalten möchte, klingt nach Zeitverschwendung (außer für Google)…

    – Ry-

    12. August 2014 um 1:05 Uhr


  • @minitech kannst du mir CSS zeigen, das nicht auf Whitespace-agnostische Weise geschrieben werden kann? Ich verkleinere HTML seit langem und habe bisher keine Probleme gesehen.

    – Salvador Dalí

    12. August 2014 um 1:08 Uhr

  • * { white-space: pre; } ist offensichtlich, aber wenn Sie alle Leerzeichen entfernen und nicht nur reduzieren (stattdessen durch Ränder ersetzen), kann Text falsch kopiert werden und Chaos in Textbrowsern und Bildschirmleseprogrammen anrichten.

    – Ry-

    12. August 2014 um 2:02 Uhr


Ich habe ein Webtool zum Minimieren von HTML geschrieben. http://prettydiff.com/?m=minify&html

Dieses Tool arbeitet nach diesen Regeln:

  • Alle HTML-Kommentare werden entfernt
  • Folgen von Leerzeichen werden in einzelne Leerzeichen umgewandelt
  • Unnötige Leerzeichen innerhalb von Tags werden entfernt
  • Leerzeichen zwischen zwei Tags, bei denen eines dieser beiden Tags kein Singleton ist, werden entfernt
  • Alle Inhalte in a style -Tag wird als CSS vermutet und als solches minimiert
  • Alle Inhalte in a script -Tag wird angenommen, dass es sich um JavaScript handelt, es sei denn, es wird ein anderer Medientyp bereitgestellt, und dann als solches minimiert
    • Die CSS- und JavaScript-Minifizierung verwendet eine stark gegabelte Form von JSMin. Dieser Fork wird erweitert, um CSS nativ zu unterstützen und unterstützt auch die SCSS-Syntax. Das automatische Einfügen von Semikolons wird für die JavaScript-Minifizierung unterstützt, das automatische Einfügen von geschweiften Klammern wird jedoch noch nicht unterstützt.

    1645907536 583 HTML Minifizierung closed
    adamJLev

    Das hat bei mir funktioniert:

    http://minify.googlecode.com/git/min/lib/Minify/HTML.php

    Es ist kein bereits verfügbares Online-Tool, aber da es sich um ein einfaches PHP-Include handelt, ist es einfach genug, dass Sie es einfach selbst ausführen können.

    Ich würde jedoch keine komprimierten Dateien speichern, tun Sie dies dynamisch, wenn Sie wirklich müssen, und es ist immer eine bessere Idee, die Gzip-Serverkomprimierung zu aktivieren. Ich weiß nicht, wie kompliziert das in IIS/.Net ist, aber in PHP ist es so trivial wie das Hinzufügen einer Zeile zur globalen Include-Datei

    1645907536 978 HTML Minifizierung closed
    Der faule DBA

    CodeProject hat ein veröffentlichtes Beispielprojekt (http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900), um einige der folgenden Situationen zu bewältigen…

    • Kombinieren von ScriptResource.axd-Aufrufen zu einem einzigen Aufruf
    • Komprimieren Sie alle clientseitigen Skripte basierend auf der Browserfunktion, einschließlich gzip/deflate
    • Ein ScriptMinifier zum Entfernen von Kommentaren, Einrückungen und Zeilenumbrüchen.
    • Ein HTML-Komprimierer zum Komprimieren des gesamten HTML-Markups basierend auf den Browserfunktionen, einschließlich gzip/deflate.
    • Und – am wichtigsten – ein HTML-Minifier, um vollständiges HTML in eine einzelne Zeile zu schreiben und es auf möglichem Niveau zu minimieren (im Aufbau).

    1645907537 685 HTML Minifizierung closed
    Andrej Tarizyn

    Für die Microsoft .NET-Plattform gibt es eine Bibliothek namens WebMarkupMindie die Minimierung von HTML-Code erzeugt.

    Zusätzlich gibt es ein Modul zur Integration dieser Bibliothek in ASP.NET MVC – WebMarkupMin.Mvc.

    867920cookie-checkHTML-Minifizierung? [closed]

    This website is using cookies to improve the user-friendliness. You agree by using the website further.

    Privacy policy