Webpack 浏览器如何请求哈希文件名

Webpack 浏览器如何请求哈希文件名,webpack,hash,build,assets,Webpack,Hash,Build,Assets,我是web开发的初学者。在一个项目中,我看到构建了资产文件并更改了它们的名称——在它们的名称后面附加了一个哈希字符串。我知道一些捆绑包商有这样的魔力,但我不明白浏览器是如何知道他们的“新”名字的。例如,如果我在index.js文件中有一个脚本标记,并且在构建之后,main.js变成了main-ad466ef6367…js,那么这个脚本标记应该相应地更改,新名称正确吗?您的假设是正确的。发送到浏览器的HTML应该有到js、css和其他资源的正确链接。如果您使用生成html,它可以将哈希链接内联到您

我是web开发的初学者。在一个项目中,我看到构建了资产文件并更改了它们的名称——在它们的名称后面附加了一个哈希字符串。我知道一些捆绑包商有这样的魔力,但我不明白浏览器是如何知道他们的“新”名字的。例如,如果我在index.js文件
中有一个脚本标记,并且在构建之后,
main.js
变成了
main-ad466ef6367…js
,那么这个脚本标记应该相应地更改,新名称正确吗?

您的假设是正确的。发送到浏览器的HTML应该有到js、css和其他资源的正确链接。如果您使用生成html,它可以将哈希链接内联到您的现成资产。如果您只使用webpack捆绑您的资产,您可以使用它生成一个
manifest.json
文件,该文件将包含您资产的对象映射,即

{
  "main.js": "/main-4kj5h62.js",
  "style.css": "/style-k67bv2.css",
  "logo.svg": "/logo-m2vb456.svg"
}
您可以在服务器应用程序中引用此文件,以内联到资产的正确链接