Webpackでのハッシュ付きスクリプトバンドルのレイアウトへの組み込み
通常、プロジェクトをビルドする際には、 バンドル名にハッシュを含めることが望まれます。 これは、ブラウザによるファイルのキャッシュ問題を 解決するために必要です。
したがって、Webpackがハッシュを含む名前の バンドルを自動的に接続するのは便利です。 確認してみましょう。 次の設定があるとします:
export default {
context: path.resolve( 'src'),
entry: {
test1: './test1.js',
test2: './test2.js'
},
output: {
filename: '[name].[contenthash].js',
path: path.resolve('dist'),
},
plugins: [
new HtmlWebpackPlugin(),
],
};
ビルド後、レイアウトファイルには ハッシュ付きのバンドルが接続されます:
<!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は自動的に ハッシュを変更し、レイアウトファイルに 修正を加えます。プロジェクトファイルが 変更されていない場合、ハッシュも 変更されません。
3つのエントリーポイントを作成してください。 それらがハッシュを含む名前の個別のバンドルに ビルドされるようにしてください。
プロジェクトをビルドしてください。 レイアウトファイルにすべてのバンドルが 接続されていることを確認してください。
いずれかのエントリーポイントのソースファイル内の テキストを変更してください。ビルドを実行してください。 そのエントリーポイントのバンドルのハッシュが変更され、 他のバンドルのハッシュは変更されないことを確認してください。