2016-02-03 2 views
5

Может ли кто-нибудь сказать мне, какова цель [хэш] и [чунхаш] и откуда они взялись?Какова цель webpack [hash] и [chunkhash]?

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

вы читали [это] (https://webpack.github.io/docs/long-term-caching.html) объяснение на webpack.github. -й? –

+0

да, но до сих пор неясно, что он построил для –

+1

hm ... [здесь] (https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95 # .oibt9ye3h) также довольно интересная тема об этом. Вероятно, вам будет легко понять –

ответ

3

В основном связанные с ним в браузер кэширование - когда вы служите активы обычно вы хотите сказать, клиент/браузер, который они могут использовать один и тот же скрипт/стилей/JPEG и т.д., без необходимости загружать его каждый раз. Это делается путем отправки соответствующих полей заголовка HTTP.

Проблема в том, как долго вы должны указывать клиенту, что они могут продолжать использовать ту же таблицу стилей? Если вы перепроектируете свой сайт и не загрузите новую таблицу стилей, они не будут видеть эти изменения. Обычно это решение добавляет какой-то идентификатор или номер версии в имя файла таблицы стилей - если этот идентификатор/версия изменяется при изменении таблицы стилей (и, следовательно, имя файла отличается), браузер снова загрузит его (это называется кешем разорение).

В основном веб-пакет может добавлять хэш к имени выхода пакета, которое, будучи функцией содержимого пакета, будет отличаться при изменении содержимого, таким образом автоматизируя процесс. chunkhash делает то же самое, если вы разбиваете пакет на несколько кусков.

Heres некоторые не связанные WebPack обсуждение: Strategies for Cache-Busting CSS

Смежные вопросы