Gereksinimler: Önceki .NET Framework MVC projelerinde, JS, CSS Microsoft'un Microsoft.AspNet.Web.Optimization kütüphanesi kullanılarak paketlenip sıkıştırılabilir. ASP.NET Core kullandıktan sonra, mevcut JS ve CSS dosyalarını nasıl paketleyip sıkıştırabilirim?
.NET Framework projesi aşağıdaki noktalara atıfta bulunur:
Örnek kod:
bağlama
Paketleme, birden fazla dosyayı tek bir dosyada birleştirir. Paketleme, bir web varlığını render etmek için gereken sunucu isteği sayısını azaltır, örneğin bir web sayfası. CSS, JavaScript ve daha fazlası için istediğiniz kadar bireysel paket oluşturabilirsiniz. Daha az dosya, tarayıcıdan sunucuya veya uygulamayı sağlayan hizmetten geçme anlamına gelirDaha Az HTTP isteği。 Bu, ana sayfa yükleme performansını artırır.
sıkıştırmak
Gereksiz karakterleri kodunuzdan işlevselliği değiştirmeden minimize et. Sonuç şöyleydiCSS, görseller ve JavaScript dosyaları gibi istenen kaynakların boyutu önemli ölçüde azaltılmış。 Minifikasyonun yaygın yan etkileri arasında değişken isimlerinin bir karaktere kısaltılması ve yorumların ile gereksiz boşlukların kaldırılması yer alır. Aynı zamanda,Kodu karıştır, ki bu da diğer rakiplerin kaynak kodumuzu okumasına uygun değildir.
Paketleme ve sıkıştırmadan elde edilen performans artışları
Aşağıdaki tablo, varlıkları bireysel olarak yüklemekle paketleme ve küçültme kullanımı arasındaki farkları özetlemektedir:
Trafik tasarrufu sağlar ve ağ taşıma açısından yükleme hızını artırır, ayrıca HTTP taleplerini azaltır ve yükleme hızını artırır.
HTTP isteği başlıkları için tarayıcı çok detaylı. Paketlendiğinde, gönderilen toplam bayt metriği önemli ölçüde azalır. Yükleme sürelerinde önemli iyileşmeler görülüyor, ancak bu örnek yerel olarak çalışıyor. Paketleme ve küçültme, ağ üzerinden taşınan varlıklarla birleştirilerek daha yüksek performans kazançları elde edilebilir.
ASP.NET Core'un kendi paketlenmiş ve sıkıştırılmış çözümü yok ve üçüncü taraf tarafından sağlanan bir çözüm kullanmak zorunda, bu makale "LigerShark.WebOptimizer.Core(Kütüphane sonunda aradı.)NUglifyJS ve CSS işlemesini uygula), GitHub adresi:Bağlantı girişi görünür.
Öncelikle, Core 6 ASP.NET yeni bir proje oluşturun ve referans almak için aşağıdaki komutu çalıştırın:
Test css ve js dosyalarını depolamak için wwwroot projesinde yeni bir statik klasör oluşturun. Aşağıda gösterildiği gibi yeni bir CSS ve JS dosyası oluşturun:
Program.cs dosyasını değiştirin ve WebOptimizer servisi ile ara yazılımı ekleyin, ana kod aşağıdaki gibidir:
Projeye başlamaya çalıştığımızda, hem CSS hem de JS kodlarının yorumlarının silindiğini, dosyaların sıkıştırıldığını ve JS'deki bazı değişkenlerin tek harfe indirgendiğini görüyoruz; aşağıdaki şekilde gösterilmiştir:
Sonra statik klasörden yeni bir js dosyası oluşturarak paketleme fonksiyonunu test edin.test.js ve test2.js tek bir common.js dosyasına paketleyin(ve common.js fiziksel bir dosya oluşturmaz), yapılandırma kodu şu şekildedir:
Çizimler aşağıdaki gibidir:
Referans:
Bağlantı girişi görünür.
Bağlantı girişi görünür.
|