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