5
有人可以告诉我[hash]和[chunkhash]的用途是什么,它们来自哪里?webpack [hash]和[chunkhash]的用途是什么?
output: {
path: "/home/proj/cdn/assets/[hash]",
publicPath: "http://cdn.example.com/assets/[hash]/"
}
有人可以告诉我[hash]和[chunkhash]的用途是什么,它们来自哪里?webpack [hash]和[chunkhash]的用途是什么?
output: {
path: "/home/proj/cdn/assets/[hash]",
publicPath: "http://cdn.example.com/assets/[hash]/"
}
基本上它涉及到浏览器cacheing - 当你成为你的资产通常要告诉客户端/浏览器,他们可以使用相同的脚本/样式表/ JPEG等,而无需下载它每一次。这通过发送适当的HTTP头字段来完成。
然后,问题是你应该告诉客户端他们可以继续使用相同样式表多长时间?如果你重新设计你的网站,他们不下载你的新样式表,他们不会看到这些变化。解决方案通常是为样式表文件名添加某种标识符或版本号 - 如果此样式/版本在样式表更改时发生更改(因此文件名不同),则浏览器将再次下载它(这称为缓存破坏)。
基本上,webpack可以向捆绑输出名称添加一个哈希值,作为捆绑内容的函数,当内容发生变化时,它会有所不同,从而实现流程的自动化。 chunkhash
做同样的事情,如果你正在分割成多个块。
下面有一些非的WebPack相关讨论:Strategies for Cache-Busting CSS
有你读一个webpack.github [这](https://webpack.github.io/docs/long-term-caching.html)的解释。 IO? –
是的,但它仍然不清楚它为 –
hm ...建造了什么...... [here](https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95 #.oibt9ye3h)也是相当有趣的话题。可能它会很容易理解你 –