每一次项目发布的时候都需要用户手动清理浏览器缓存才可以生效,这种方法对客户来说体验感非常差,所以针对这一问题,做个记录
一、什么是缓存、缓存的目的、好处、坏处
浏览器对之前访问过的文件进行缓存;目的是为了当用户再次访问该文件的时候可以重复使用;好处是速度快、减少服务器的负载等;坏处是当项目有所改动时无法访问到最新资源
二、缓存的原理
缓存分协商缓存和强缓存两种
协商缓存:发送请求,根据request header 的参数判断是否命中协商缓存,若状态返回304则使用本地缓存,若状态返回200使用访问服务器获取;
强缓存:直接从本地获取资源,
from disk cache:不访问服务器,从硬盘中读取
from memory cache:不访问服务器,从内存中读取
三、缓存总结
1、查看访问数据是否命中强缓存,若命中,则使用缓存数据
2、若没有命中强缓存,发请求看是否命中协商缓存
3、若命中协商缓存,返回304使用本地
4、反之,返回最新资源
四、解决方法
在vue.config.js中给js文件和css文件加上时间戳,以确保每次项目发布的之后浏览器访问的都是最新的文件
这样在改动线上项目的时候,用户可以立马接收到新的资源,不用手动清除浏览器缓存了