⊗tlWpHtHSB 42 of 55 menu

Bundles de scripts com hash no layout no Webpack

Geralmente, ao construir um projeto, queremos que os nomes dos bundles contenham hashes. Precisamos disso para resolver o problema de cache de arquivos pelo navegador.

Portanto, é conveniente que o Webpack automaticamente conecte os bundles com nomes que contenham hashes. Vamos verificar. Suponha que temos as seguintes configurações:

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(), ], };

Após a build, nossos bundles com hashes serão conectados ao arquivo de layout:

<!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>

Além disso, quando os arquivos do projeto são alterados e uma rebuild é realizada, o Webpack automaticamente alterará os hashes e fará as mudanças no arquivo de layout. Se os arquivos do projeto não forem alterados, o hash não será modificado.

Crie três pontos de entrada. Configure para que eles sejam compilados em bundles separados com nomes contendo hashes.

Execute a build do projeto. Certifique-se de que todos os bundles estão conectados no arquivo de layout.

Altere o texto no arquivo de origem de um dos pontos de entrada. Execute a build. Verifique se o hash do bundle desse ponto de entrada mudou, mas os dos outros bundles não.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar