2016-02-03 11 views
5

Czy ktoś może mi powiedzieć, jaki jest cel [hash] i [chunkhash] i skąd pochodzą?Jaki jest cel webpacka [hash] i [chunkhash]?

output: { 
    path: "/home/proj/cdn/assets/[hash]", 
    publicPath: "http://cdn.example.com/assets/[hash]/" 
} 
+0

czytałeś [to] (https://webpack.github.io/docs/long-term-caching.html) wyjaśnienie na webpack.github. io? –

+0

tak, ale nadal nie jest jasne, co jest zbudowane dla –

+1

hm ... [tutaj] (https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-w-webpack-1ecb139adb95 # .oibt9ye3h) również dość interesujący temat na ten temat. Prawdopodobnie będzie to dla ciebie łatwe do zrozumienia –

Odpowiedz

3

Zasadniczo jego związane cache'owanie przeglądarki - gdy aktywa służą generalnie chcą poinformować klienta/przeglądarki, które mogą wykorzystać ten sam skrypt/etc/JPEG stylów bez konieczności pobierania go za każdym razem. Odbywa się to poprzez wysłanie odpowiednich pól nagłówka HTTP.

Problem polega na tym, jak długo należy mówić klientowi, że może nadal używać tego samego arkusza stylów? Jeśli zmienisz wygląd swojej strony i nie pobierzesz nowego arkusza stylów, nie zobaczą tych zmian. Rozwiązaniem jest zazwyczaj dodanie pewnego rodzaju identyfikatora lub numeru wersji do nazwy pliku arkusza stylów - jeśli ten id/wersja zmieni się po zmianie arkusza stylów (i tym samym nazwa pliku będzie inna), przeglądarka pobierze go ponownie (jest to tzw. Cache krach).

Zasadniczo pakiet internetowy może dodać skrót do nazwy wyjściowej pakunku, która, będąc funkcją zawartości pakietu, będzie różna, gdy zmieni się zawartość - i tym samym zautomatyzować proces. chunkhash robi to samo, jeśli dzielisz pakiet na kilka porcji.

Herezje niektóre non-WebPack związane dyskusja: Strategies for Cache-Busting CSS