Balíčky skriptů s hashem v layoutu ve Webpacku

Při sestavování projektu obecně chceme, aby názvy balíčků obsahovaly hash. Potřebujeme to proto, abychom vyřešili problém s ukládáním souborů do mezipaměti prohlížečem.

Je tedy výhodné, že Webpack automaticky připojí balíčky s názvy, obsahujícími hash. Ověřme to. Předpokládejme, že máme následující nastavení:

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

Po sestavení budou k souboru layoutu připojeny naše balíčky s hashi:

dist/index.html<!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>

Při změně souborů projektu a novém sestavení Webpack automaticky změní hashe a provede změny v souboru layoutu. Pokud se soubory projektu nezměnily, hash se také nezmění.

Задание 1

Vytvořte tři vstupní body. Zařiďte, aby se sestavovaly do samostatných balíčků s názvy obsahujícími hashe.

Задание 2

Proveďte sestavení projektu. Ověřte, že v souboru layoutu jsou připojeny všechny balíčky.

Задание 3

Změňte text ve zdrojovém souboru jednoho ze vstupních bodů. Proveďte sestavení. Zkontrolujte, že se hash balíčku tohoto bodu změní, ale u ostatních balíčků zůstane stejný.