Hash pada Webpack

hryer

Harry Ermawan

Posted on October 4, 2020

Hash pada Webpack

Hash

Alt Text

TLDR; Hash adalah suatu kode dari hasil enkripsi yang umumnya terdiri dari huruf maupun angka yang acak. Fungsi / pengunaan Hash sendiri dalam webpack yang digunakan umumnya untuk menghindari duplikasi ketika terjadinya update pada JS / saat melakukan update. Lalu bagaimana penggunaan hash yang tepat ketika kita melakukan konfigurasi pada webpack?

Perbedaan dan jenis hash pada webpack

Hashing dapat digunakan dengan menggunakan kurung siku pada script webpack dan Hash sendiri memilik jenis / tipe yang sering digunakan ketika membuat script webpack.

1. [hash]
Ketika kita menggunakan hash maka ketika setiap build terjadi perubahan maka chunk sendiri akan membuat hash baru.

contoh :

module.exports = {
  //...
  output: {
    filename: '[name].[hash].bundle.js'
  }
};
Enter fullscreen mode Exit fullscreen mode

2. [Chunkhash]
Ketika menggunakan chunkchash maka ketika setiap build terjadi
perubahan pada chunk hanya chunk tertentu saja atau chunk yang entry pointnya terjadi perubahan. Maka dalam perubahan ini dalam kasus webpack ini sangat cocok digunakan untuk menghash file javascript.

contoh:

module.exports = {
  //...
  output: {
    filename: '[chunkhash].bundle.js'
  }
};
Enter fullscreen mode Exit fullscreen mode

3. [Contenthash]
Contenthash sering digunakan untuk menghash file css karena jika menggunakan hash yang sama dengan hash pada javascript maka ketika terjadi update pada entry css tersebut maka chunk file css hashnya tidak akan terganti untuk menghindari case seperti ini maka lebih baik menggunakan contenthash.

contoh:

module.exports = {
  //...
  output: {
    filename: '[contenthash].bundle.css'
  }
};
Enter fullscreen mode Exit fullscreen mode

NOTES

Slicing hash

Jika hash dirasa terlalu panjang kita dapat menggunakan [hash:8] maka hash yang dihasilkan akan menjadi seperti 8c4cbfdb

Referensi untuk dipelajari :
https://medium.com/@sahilkkrazy/hash-vs-chunkhash-vs-contenthash-e94d38a32208
https://webpack.js.org/guides/caching/
https://webpack.js.org/configuration/output/
https://codeburst.io/long-term-caching-of-static-assets-with-webpack-1ecb139adb95

💖 💪 🙅 🚩
hryer
Harry Ermawan

Posted on October 4, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Hash pada Webpack
webpack Hash pada Webpack

October 4, 2020