您应该将 html-webpack-plugin 与模板 html 一起使用,并在输出中放置哈希配置。所以你的 webpack 配置看起来像这样:
output: {
filename: "[name].[hash].js",
path: <path to your bundle folder>
}
new HTMLWebpackPlugin({
hash: true,
template: paths.resolveFromRoot("src/index.html") //where you want the sample template to be
})
你的 index.html 将是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Title</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
HTML webpack 插件会自动将修改后的脚本插入到你的 bundle 文件夹中创建的 index.html 中。希望这可以帮助。对于缓存修复,您可以参考https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching,其中提到了有效缓存解决方案的版本控制和服务器响应标头配置。