⊗tlWpAsInr 46 of 55 menu

Assets in Webpack

In ogni progetto ci sono alcune risorse o assets (assets). Questi assets sono immagini, file di font e cose simili.

Di norma, vogliamo semplicemente trasferire le risorse dalla cartella del progetto alla cartella di build. Ma sorge di nuovo il problema della cache. Ad esempio, il browser memorizza nella cache le immagini. Ciò significa che se modifichiamo un'immagine, senza cambiare il nome del file, gli utenti del sito vedranno la versione precedente dell'immagine, poiché è stata memorizzata nella cache.

La soluzione al problema, come già sapete, è aggiungere un hash al nome del file. Webpack consente di copiare i file delle risorse nella cartella di build, aggiungendo loro degli hash e, cosa più importante, modificando in tutti i file i percorsi verso queste risorse con quelli nuovi.

In Webpack il lavoro con gli assets viene effettuato utilizzando speciali moduli assets. Ci sono quattro tipi: asset/resource, asset/inline, asset/source, asset.

Il modulo asset/resource copia i file dalla cartella del progetto alla cartella di build e sostituisce i percorsi verso di essi con quelli nuovi. Il modulo asset/inline prende i file dalla cartella del progetto e nel codice del build sostituisce i percorsi dei file con base64. Il modulo asset/source prende i file dalla cartella del progetto e li restituisce sotto forma di stringa di testo. Il modulo asset sceglie autonomamente se copiare il file nella cartella di build o trasformarlo in base. La scelta viene effettuata in base alla dimensione del file. Per impostazione predefinita, i file più grandi di 8kb vengono raccolti come file.

Lo schema generale di applicazione di questi moduli è il seguente:

module: { rules: [ { test: /\.png$/, // file type: 'asset/resource' // tipo di modulo } ] },

Spiega cosa si intende per assets.

Cerca su Google cos'è il base64 e come viene utilizzato in CSS.

Elenca 4 tipi di moduli per gli assets.

Spiega a cosa serve ciascuno dei 4 tipi di moduli.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta