webpack打包生成几个带hash的js文件,新版本发布后,hash没变的vendor.js也被重新下载了?

seristudy
  • 57

使用webpack打包项目,html文件里引入打包的几个js文件,当新版本发布后,app.js和manifest.js文件hash值改变了,所以要向服务器重新请求数据。

但是问题出现了:hash没有改变的vendor也会被重新加载这是为什么呢?

html中引入的js如下:

<script type="text/javascript" src="/bundle-manifest-1760dc2338f893bbe697.js"></script>
<script type="text/javascript" src="/bundle-vendor-c7f8249fd41854e7fccd.js"></script>
<script type="text/javascript" src="/bundle-app-20967c707b155e3dc074.js"></script>

打包解压脚本如下:

打包
tar czf dist.tar dist
解压
tar xzf dist.tar

解压后dist文件夹里会保留老版本的js文件,然后手动删掉老版本的。
导致hash没变的js文件重新下载的原因是什么呢?

回复
阅读 3.9k
2 个回答
✓ 已被采纳

虽然内容没变,但是Last-Modified变动了。应该是这个导致的。

你是启动了etag.关闭了expireCache吗?

宣传栏