Webpack-ում հեշով սկրիպտների բանդլները դասավորության մեջ

Որպես կանոն, նախագիծը հավաքելիս մենք ցանկանում ենք, որ բանդլների անունները պարունակեն հեշ: Դա մեզ անհրաժեշտ է, որպեսզի lուտքագրենք բրաուզերի կողմից ֆայլերի քեշավորման խնդիրը:

Ուստի հարմար է, որ 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

Փոխեք տեքստը մուտքի կետերից մեկի սկզբնական ֆայլում: Կատարեք հավաքում: Ստուգեք, որ այդ կետի բանդլի հեշը կփոխվի, իսկ մնացած բանդլներինը՝ ոչ: