Scriptien bundlet hash-tunnisteella Webpackin asettelussa

Yleensä haluamme, että projektin kokoamisen yhteydessä bundlet sisältävät hash-tunnisteet. Tarvitsemme tätä ratkaistaksemme selaimen tiedostojen välimuistin ongelman.

Siksi on kätevää, että Webpack liittää automaattisesti bundlet, joiden nimissä on hash-tunnisteet. Kokeillaan. Oletetaan, että meillä on seuraavat asetukset:

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

Kokoamisen jälkeen asettelutiedostoon on liitetty bundlemme hash-tunnisteilla:

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>

Samalla, kun projektin tiedostoja muutetaan ja kokoaminen suoritetaan uudelleen, Webpack muuttaa automaattisesti hash-tunnisteet ja tekee muutoksia asettelutiedostoon. Jos projektin tiedostoja ei ole muutettu, hash-tunniste ei myöskään muutu.

Задание 1

Tee kolme tulopistettä. Tee niin, että ne kootaan erillisiksi bundleiksi, joiden nimissä on hash-tunnisteet.

Задание 2

Suorita projektin kokoaminen. Varmista, että asettelutiedostoon on liitetty kaikki bundlet.

Задание 3

Muuta tekstiä yhden tulopisteen lähdetiedostossa. Suorita kokoaminen. Tarkista, että kyseisen tulopisteen bundlen hash-tunniste muuttuu, mutta muiden bundlien hash-tunnisteet eivät muutu.