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

Кіру нүктелерінің бірінің бастапқы файлындағы мәтінді өзгертіңіз. Жинақтауді орындаңыз. Осы нүктенің бандл хеші өзгеретініне, ал қалған бандлдардың хештері өзгермейтініне көз жеткізіңіз.