Bir sayfanın HTML kaynağını girebileceğimiz ve kodu küçültecek çevrimiçi bir araç var mı ?
Bunu aspx dosyaları için yapardım, çünkü web sunucusunu onları gzip yapmak iyi bir fikir değildir ...
Bir sayfanın HTML kaynağını girebileceğimiz ve kodu küçültecek çevrimiçi bir araç var mı ?
Bunu aspx dosyaları için yapardım, çünkü web sunucusunu onları gzip yapmak iyi bir fikir değildir ...
Yanıtlar:
Belki HTML Compressor'ı deneyebilirsiniz , işte neler yapabileceğini gösteren bir öncesi ve sonrası tablosu (Stack Overflow'un kendisi için de dahil):
Sayfalarınızı optimize etmek için, güvenli olacağı yerlere komut dosyası küçültme (ompressor, Google Closure Compiler, kendi sıkıştırıcınız) dahil olmak üzere birçok seçenek sunar. Varsayılan seçenek kümesi oldukça muhafazakar, bu nedenle bununla başlayabilir ve daha agresif seçenekleri etkinleştirmeyi deneyebilirsiniz.
Proje son derece iyi belgelenmiş ve desteklenmiştir.
Bunu yapma . Daha doğrusu, ısrar ediyorsanız, daha önemli site optimizasyonları tamamlandıktan sonra yapın. Bu çabanın maliyetinin / faydasının ihmal edilebilir olma ihtimali çok yüksektir, özellikle de her sayfayla başa çıkmak için çevrimiçi araçları manuel olarak kullanmayı planlıyorsanız.
Sayfalarınızı optimize etmek için gerçekten ne yapmanız gerektiğini belirlemek için YSlow veya Page Speed kullanın . Tahminimce, HTML baytlarının azaltılması sitenizin en büyük sorunu olmayacak. Sıkıştırma, önbellek yönetimi, görüntü optimizasyonu vb. Sitenizin genel performansında daha büyük bir fark yaratması çok daha olasıdır. Bu araçlar size en büyük sorunların ne olduğunu gösterecektir - bunların hepsini çözdüyseniz ve yine de HTML küçültmenin önemli bir fark yarattığını fark ederseniz, bunun için gidin.
(Bunu yapmak istediğinizden eminseniz ve Apache httpd kullanıyorsanız, beyaz boşluğu azaltmak için mod_pagespeed kullanmayı ve bazı seçenekleri açmayı düşünebilirsiniz , ancak risklerin farkında olun .)
white-space: pre
ve küçültme önceden biçimlendirilmiş metni yok edebilir.
white-space:pre
, evet, HTML'yi küçültmek daha karmaşık olacaktır. Ancak, birisinin neden beyaz boşluk kullanmak isteyeceği konusunda net değilim: a pre
veya code
element kullanmak yerine ön .
İşte sorunuza kısa bir cevap: HTML, CSS, JS'nizi küçültmelisiniz . Grunt denen kullanımı kolay bir araç var . Birçok görevi otomatikleştirmenize izin verir. Bunların arasında JS , CSS , HTML küçültme, dosya birleştirme ve diğerleri .
Burada yazılan cevaplar son derece güncelliğini yitirmiş ve hatta bazen bir anlam ifade etmiyor. Eski 2009'dan çok şey değişti, bu yüzden bunu doğru bir şekilde yanıtlamaya çalışacağım.
Kısa cevap - HTML'yi kesinlikle küçültmelisiniz . Bugün önemsiz ve yaklaşık % 5 hızlanma sağlıyor . Daha uzun cevap için cevabın tamamını okuyun
Eskiden insanlar css / js'yi manuel olarak küçültüyorlardı (küçültmek için belirli bir araçla çalıştırarak). Süreci otomatikleştirmek biraz zordu ve kesinlikle bazı beceriler gerektiriyordu. Şu anda bile birçok üst düzey sitenin gzip kullanmadığını bildiğimizden (ki bu önemsiz bir durumdur), insanların html'yi küçültme konusunda isteksiz olmaları anlaşılabilir bir durumdur.
Peki neden insanlar js'yi küçültürken html'yi küçültmüyordu ? JS'yi küçülttüğünüzde, aşağıdakileri yaparsınız:
var isUserLoggedIn
olarak var a
)Eski günlerde bile çok gelişme sağladı. Ama html'de kısaca uzun isimleri değiştiremiyordunuz, ayrıca o süre zarfında yorum yapacak neredeyse hiçbir şey yoktu. Yani geriye kalan tek şey boşlukları ve satır başlarını kaldırmak oldu. Bu sadece az miktarda iyileştirme sağlar.
Burada yazılan yanlış bir argüman, içerik gzip ile sunulduğu için küçültmenin bir anlam ifade etmediğidir. Bu tamamen yanlış. Evet, gzip'in küçültmenin gelişimini azaltması mantıklıdır, ancak yorumları, boşlukları düzgün bir şekilde kırpıp yalnızca önemli kısımlarını gzip edebiliyorsanız neden gzip'lemelisiniz? Asla kullanmayacağınız bazı saçmalıklar içeren arşivlenecek bir klasörünüz var ve temizleyip sıkıştırmak yerine sadece sıkıştırmaya karar vermenizle aynıdır.
Küçültme yapmanın neden anlamsız olduğu bir başka argüman da sıkıcı olmasıdır. Belki bu 2009'da doğruydu, ancak bundan sonra yeni araçlar ortaya çıktı. Şu anda işaretlemenizi manuel olarak küçültmenize gerek yok. Gibi şeyler ile Grunt bunun yüklemek için Önemsiz hırıltı-contrib-htmlmin (güvenir HTMLMinifier @kangax tarafından) ve html küçültmek için yapılandırmak için. Homurtu öğrenmek ve her şeyi yapılandırmak için ihtiyacınız olan tek şey 2 saat gibi ve ardından her şey bir saniyeden daha kısa sürede otomatik olarak yapılır. 1 saniyenin ( grunt-katkıda-izle ile hiçbir şey yapmamak için bile otomatikleştirebileceğiniz ), yaklaşık% 5 iyileştirme için (gzip ile bile) o kadar da kötü olmadığını söylüyor.
Bir başka argüman da CSS ve JS'nin statik olması ve HTML'nin sunucu tarafından oluşturulduğudur, bu yüzden onu önceden küçültemezsiniz. Bu, 2009 yılında da doğrudur, ama şu anda daha fazla ve daha siteleri sunucu incedir ve istemci Rota, templating ve diğer mantığı yapıyor tek sayfa uygulama gibi bakıyoruz. Yani sunucu size sadece JSON veriyor ve istemci onu oluşturuyor. Burada sayfa için çok sayıda html ve farklı şablonlarınız var.
Yani düşüncelerimi bitirmek için:
<span>
). Her şeyden önce her zaman geçerli html yazmanın bir yolunu bulabilir ve onu boşluktan bağımsız hale getirebilirsiniz. Ayrıca bunu duymak sizi şaşırtabilir, ancak JS / CSS minifier bir hataya da neden olabilir - bu, onu kullanmamanız gerektiği anlamına gelmez. Bu nedenle, probleminizi çözmenin iki yolu: boşluk agnostik biçimlendirme yazmayı öğrenin, ürününüzü küçültmeden önce / sonra test edin (CSS / HTML / JS). Ayrıca Minifier'da hangi beyaz boşlukları korumak istediğinizi belirleyebilirsiniz.
* { white-space: pre; }
bariz bir durumdur, ancak tüm beyaz boşlukları kaldırırsanız ve yalnızca daraltmazsanız (bunun yerine kenar boşluklarıyla değiştirirseniz), metin yanlış bir şekilde kopyalayabilir ve metin tarayıcıları ve ekran okuyucularda hasara yol açabilir.
HTML'yi küçültmek için bir web aracı yazdım. http://prettydiff.com/?m=minify&html
Bu araç şu kuralları kullanarak çalışır:
style
etiket içindeki tüm içeriğin CSS olduğu varsayılır ve bu şekilde küçültülürscript
Farklı bir medya türü sağlanmadıkça ve daha sonra bu şekilde küçültülmedikçe, bir etiket içindeki tüm içeriğin JavaScript olduğu varsayılır<!--[if IE 8.0]><link rel="stylesheet" href="css/ie8.css" type="text/css" /><![endif]-->
Bu benim için çalıştı:
http://minify.googlecode.com/git/min/lib/Minify/HTML.php
Halihazırda mevcut bir çevrimiçi araç değildir, ancak basit bir PHP olmak, yeterince kolaydır, sadece kendiniz çalıştırabilirsiniz.
Yine de sıkıştırılmış dosyaları kaydetmezdim, bunu gerçekten yapmanız gerekiyorsa dinamik olarak yapın ve Gzip sunucu sıkıştırmasını etkinleştirmek her zaman daha iyi bir fikirdir. Bunun IIS / .Net'e ne kadar dahil olduğunu bilmiyorum, ancak PHP'de global include dosyasına bir satır eklemek kadar önemsiz
CodeProject, aşağıdaki durumlardan bazılarını ele almak için yayınlanmış bir örnek projeye ( http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900 ) sahiptir. .
Microsoft .NET platformu için, HTML kodunun küçültülmesini sağlayan WebMarkupMin adlı bir kitaplık vardır .
Ek olarak, bu kitaplığı ASP.NET MVC - WebMarkupMin.Mvc ile tümleştirmek için bir modül vardır .
http://code.mini-tips.com/html-minifier.html'yi deneyin , bu Html Minifier için .NET Kitaplığı'dır
HtmlCompressor, içerik yapısını bozmadan fazladan boşlukları, yorumları ve diğer gereksiz karakterleri kaldırarak HTML veya XML kaynağı verilen küçük, hızlı ve kullanımı çok kolay bir .NET kitaplığıdır. Sonuç olarak, sayfaların boyutu küçülür ve daha hızlı yüklenir. Sıkıştırıcının komut satırı versiyonu da mevcuttur.