⊗tlWpHtHSB 42 of 55 menu

Bundle-uri de script cu hash în layout în Webpack

De obicei, atunci când construim un proiect, dorim ca numele bundle-urilor să conțină hash-uri. Avem nevoie de acest lucru pentru a rezolva problema cu cache-ul fișierelor de către browser.

Prin urmare, este convenabil faptul că Webpack automat va conecta bundle-uri cu nume care conțin hash-uri. Să verificăm. Să presupunem că avem următoarele setări:

export default { context: path.resolve( 'src'), entry: { test1: './test1.js', test2: './test2.js' }, output: { filename: '[name].[contenthash].js', path: path.resolve('dist'), }, plugins: [ new HtmlWebpackPlugin(), ], };

După build, în fișierul layout-ului vor fi conectate bundle-urile noastre cu hash-uri:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Webpack App</title> <script defer src="test1.4173b379c6d6ff439604.js"></script> <script defer src="test2.72be8754d7c4cb0ece00.js"></script> </head> <body> </body> </html>

În același timp, atunci când fișierele proiectului sunt modificate și se face rebuild, Webpack automat va schimba hash-urile și va introduce modificări în fișierul layout-ului. Dacă fișierele proiectului nu s-au modificat, atunci nici hash-ul nu se va schimba.

Creați trei puncte de intrare. Faceți astfel încât acestea să fie colectate în bundle-uri separate cu nume care conțin hash-uri.

Efectuați build-ul proiectului. Asigurați-vă că în fișierul layout-ului sunt conectate toate bundle-urile.

Modificați textul în fișierul sursă al unuia dintre punctele de intrare. Efectuați build-ul. Verificați că hash-ul bundle-ului acelui punct se va schimba, iar al celorlalte bundle-uri - nu.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge