Бандлы скрыптоў з хэшам у макеце ў Webpack

Як правіла пры зборцы праекта мы хочам, каб імёны бандлаў змяшчалі хэш. Нам гэта трэба для таго, каб вырашыць праблему з кэшаваннем файлаў браўзэрам.

Таму зручна тое, што Webpack аўтаматычна будзе падлучаць бандлы з імёнамі, якія змяшчаюць хэш. Давайце праверым. Хай у нас ёсць наступныя налады:

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

Пасля зборкі да файла макета будуць падлучаныя нашы бандлы з хэшамі:

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>

Пры гэтым пры змяненні файлаў праекта і пераборцы Webpack аўтаматычна будзе змяняць хэшы і ўносіць змены ў файл макета. Калі ж файлы праекта не змяняліся, то і хэш не будзе мяняцца.

Задание 1

Зрабіце тры кропкі ўваходу. Зрабіце так, каб яны збіраліся ў асобныя бандлы з імёнамі, якія змяшчаюць хэшы.

Задание 2

Выканайце зборку праекта. Пераканайцеся, што ў файле макета падлучаны ўсе бандлы.

Задание 3

Змяніце тэкст у зыходным файле адной з кропак уваходу. Выканайце зборку. Праверце, што хэш бандла гэтай кропкі зменіцца, а астатніх бандлаў - не.