Zväzky skriptov s hashom v makete v Webpack
Spravidla pri zostavovaní projektu chceme, aby názvy zväzkov obsahovali hash. Potrebujeme to na to, aby sme vyriešili problém s ukladaním súborov do vyrovnávacej pamäte prehliadača.
Preto je pohodlné, že Webpack automaticky pripojí zväzky s názvami, ktoré obsahujú hash. Skontrolujme to. Nech máme nasledujúce nastavenia:
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(),
],
};
Po zostavení budú k súboru maketa pripojené naše zväzky s hashmi:
<!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>
Zároveň pri zmene súborov projektu a prebudovaní Webpack automaticky zmení hashe a vykoná zmeny v súbore maketa. Ak sa súbory projektu nezmenili, tak sa hash ani nezmení.
Vytvorte tri vstupné body. Zaistite, aby sa zostavili do samostatných zväzkov s názvami obsahujúcimi hashe.
Vykonajte zostavenie projektu. Presvedčte sa, že v súbore maketa sú pripojené všetky zväzky.
Zmeňte text v zdrojovom súbore jedného z vstupných bodov. Vykonajte zostavenie. Skontrolujte, že hash zväzku tohto bodu sa zmení, a ostatných zväzkov - nie.