Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包:配置文件中[ext]后的问号_Javascript_Webpack - Fatal编程技术网

Javascript 网页包:配置文件中[ext]后的问号

Javascript 网页包:配置文件中[ext]后的问号,javascript,webpack,Javascript,Webpack,webpack.config.js,根据规则: { test: /\.(png|jpg|gif|svg)$/, loader: 'file-loader', options: { name: '[name].[ext]?[hash]' } } ?[hash]有什么作用?如果我错了,有人可以纠正我,但我相信这与添加一个绕过浏览器缓存有关,以便在重新编译时,加载最新版本的资源(源代码或其他资源),而不是旧的缓存版本。查询字符串基于原始资源的内容

webpack.config.js,根据规则:

  {
    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等)和其他配置,详情如下:
哈希基本上是为构建计算的

散列返回构建散列。如果构建的任何部分发生更改,也会随之更改。还有更多细节