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

3つのエントリーポイントを作成してください。 それらがハッシュを含む名前の個別のバンドルに ビルドされるようにしてください。

Задание 2

プロジェクトをビルドしてください。 レイアウトファイルにすべてのバンドルが 接続されていることを確認してください。

Задание 3

いずれかのエントリーポイントのソースファイル内の テキストを変更してください。ビルドを実行してください。 そのエントリーポイントのバンドルのハッシュが変更され、 他のバンドルのハッシュは変更されないことを確認してください。