Javascript 网页包:配置文件中[ext]后的问号
webpack.config.js,根据规则:Javascript 网页包:配置文件中[ext]后的问号,javascript,webpack,Javascript,Webpack,webpack.config.js,根据规则: { test: /\.(png|jpg|gif|svg)$/, loader: 'file-loader', options: { name: '[name].[ext]?[hash]' } } ?[hash]有什么作用?如果我错了,有人可以纠正我,但我相信这与添加一个绕过浏览器缓存有关,以便在重新编译时,加载最新版本的资源(源代码或其他资源),而不是旧的缓存版本。查询字符串基于原始资源的内容
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
?[hash]
有什么作用?如果我错了,有人可以纠正我,但我相信这与添加一个绕过浏览器缓存有关,以便在重新编译时,加载最新版本的资源(源代码或其他资源),而不是旧的缓存版本。查询字符串基于原始资源的内容 选项对象下的name参数指示文件名的计算结果。更具体地说,在[hash]的情况下,将生成的文件内容散列放在何处
因此,以下配置:
{
loader: 'file-loader',
options: {
name: '[path][name].[ext]?[hash]'
}
}
将生成如下内容:
path/to/file.png?e43b20c069c4a01867c31e98cbce33c9
这样做的目的是能够在新版本可用时轻松地使这些文件无效。通过对每个文件版本具有唯一的哈希,
当出现新版本时,浏览器将丢弃旧版本
您可以指定哈希类型(md5、sha256等)和其他配置,详情如下:
哈希基本上是为构建计算的 散列返回构建散列。如果构建的任何部分发生更改,也会随之更改。还有更多细节