
用 webpack 打包后,文件被分成了一个入口 html 文件和许多 js 文件
然后再上传到服务器上
这个时候再访问网站,浏览器仍然在请求原来的静态 js 文件导致 404 错误,且这个静态文件的来源是 from cache
比如未更新前的静态资源名称 post.chunk.a9059143.js
更新后的静态资源名称 post.chunk.1c9dff52.js
浏览器访问更新后的静态资源仍然是未更新前的 js 文件,导致 404 错误
如果清除缓存或者进入 chrome 的访客模式,网站能够正常访问
1 Showfom PRO ctrl + F5 强制刷新 |
2 gamexg 2017 年 4 月 11 日 你的入口 html 被缓存了。 检查 nginx 等配置,是不是设置了缓存时间。 |
4 gimp 2017 年 4 月 11 日 缓存有失效时间的 |
6 vipwpcom 2017 年 4 月 11 日 可以加上版本号 |
&nbs; 7 learnshare 2017 年 4 月 11 日 index.html 设置缓存时间,尽量短比较好 |
8 xilixjd OP @learnshare 问一下怎么设置,在 nginx 上设置还是 html 文件? |
10 misaka19000 2017 年 4 月 11 日 via Android @xilixjd 谷歌“ Nginx 缓存失效时间就可以了” |
12 think2011 2017 年 4 月 11 日 @Showfom 这是要让每个用户换浏览器吗... Orz 楼主的入口文件( index.html )被缓存了,当然请求的也是旧的了,只要保证每次发布 index.html 都是新的,那么问题就解决了。 |
13 think2011 2017 年 4 月 11 日 我倒是困惑单页面应用,如果用户正在浏览,这时更新发布了,应该怎么处理.. |
14 nfroot 2017 年 4 月 11 日 |
15 msg7086 2017 年 4 月 11 日 难道你打包程序会没事删掉旧的资源文件? |
18 loading 2017 年 4 月 11 日 via Android html 被缓存了 |
19 RE 2017 年 4 月 11 日 via iPhone 旧版本的 js 不要立马删掉啊… 要么就不要在文件名中带入版本号,直接替换旧的… 或者 html 请求的时候用 build.js?v=123 来控制版本 |