⊗tlWpAsInr 46 of 55 menu

Webpack'te Asset'ler

Her projede bazı kaynaklar veya asset'ler (assets) bulunur. Bu asset'ler resimler, yazı tipi dosyaları ve benzeri şeyleri temsil eder.

Genellikle, kaynakları proje klasöründen derleme klasörüne taşımak isteriz. Ancak yine önbellek sorunu ortaya çıkar. Örneğin, tarayıcı resimleri önbelleğe alır. Bu, bir resmi değiştirirsek ama dosya adını değiştirmezsek, site kullanıcılarının resmin önceki sürümünü göreceği anlamına gelir, çünkü onlar tarafından önbelleğe alınmıştır.

Sorunun çözümü, bildiğiniz gibi, dosya adına bir karma değeri (hash) eklemektir. Webpack, kaynak dosyalarını derleme klasörüne kopyalayarak onlara karma değerleri eklemenize ve en önemlisi, tüm dosyalardaki bu kaynaklara giden yolları yenileriyle değiştirmenize olanak tanır.

Webpack'te asset'lerle çalışma, özel asset modülleri kullanılarak gerçekleştirilir. Dört tipi vardır: asset/resource, asset/inline, asset/source, asset.

asset/resource modülü, dosyaları proje klasöründen derleme klasörüne kopyalar ve onlara giden yolları yenileriyle değiştirir. asset/inline modülü, dosyaları proje klasöründen alır ve derleme kodunda dosya yollarını base64 formatındaki veri URL'leri ile değiştirir. asset/source modülü, dosyaları proje klasöründen alır ve onları bir metin dizesi olarak döndürür. asset modülü, dosyayı derleme klasörüne kopyalayıp kopyalamamaya veya onu base64'e dönüştürüp dönüştürmemeye kendi karar verir. Seçim, dosya boyutuna bağlı olarak yapılır. Varsayılan olarak 8kb'dan büyük dosyalar dosya olarak derlenir.

Bu modüllerin genel uygulama şeması aşağıdaki gibidir:

module: { rules: [ { test: /\.png$/, // dosyalar type: 'asset/resource' // modül tipi } ] },

Asset'lerin ne anlama geldiğini açıklayın.

Base64'ün ne olduğunu ve CSS'te nasıl kullanıldığını araştırın.

Asset'ler için 4 modül tipini listeleyin.

4 modül tipinin her birinin ne için kullanıldığını açıklayın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet