⊗tlWpAsInr 46 of 55 menu

Ассети в Webpack

Във всеки проект има някои ресурси или ассети (assets). Тези ассети представляват картини, файлове с шрифтове и други подобни неща.

По правило ние просто искаме да преместим ресурсите от папката на проекта в папката на сборката. Но отново възниква проблем с кеша. Например, браузърът кешира картини. Това означава, че ако променим изображението, без да променим името на файла му, потребителите на сайта ще видят предишната версия на картината, тъй като тя е била кеширана при тях.

Решението на проблема, както вече знаете, е добавянето на хеш в името на файла. Webpack позволява копирането на файлове с ресурси в папката на сборката, добавяйки им хешове и, което е най-важно, променяйки всички пътища към тези ресурси във всички файлове на нови.

В Webpack работата с ассети се извършва чрез специални модули за ассети. Те са четири типа: asset/resource, asset/inline, asset/source, asset.

Модулът asset/resource копира файлове от папката на проекта в папката на сборката и заменя пътищата към тях с нови. Модулът asset/inline взима файлове от папката на проекта и в кода на сборката заменя пътищата към файловете с base64. Модулът asset/source взима файлове от папката на проекта и ги връща под формата на текстов низ. Модулът asset сам избира дали да копира файла в папката на сборката или да го превърне в base. Изборът се прави в зависимост от размера на файла. По подразбиране файлове по-големи от 8kb се компилират като файлове.

Общата схема за прилагане на тези модули изглежда по следния начин:

module: { rules: [ { test: /\.png$/, // файлове type: 'asset/resource' // тип модул } ] },

Разкажете какво се разбира под ассети.

Потърсете в Google какво е base64 и как се използва в CSS.

Избройте 4 типа модули за ассети.

Разкажете за какво са предназначени всеки от 4-те типа модули.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне