如何解决前端开发中的缓存问题

  现在的大多数浏览器都有缓存机制,目的是减少客户端的访问次数,减轻服务器的压力。但是在开发工程中或者是版本更新过程中,缓存机制的存在会使得程序版本已经更新,但是效果不能出现的状况,需要开发人员频繁的清除缓存,并不友好,特此总结以下几种方式(以谷歌为例),仅供参考,如有雷同,不甚荣幸。

1.对于开发者来说,只需要关闭浏览器缓存就可以了。步骤是:浏览器右键打开检查,找到network,下边有Disable cache选项,只要将其打勾即可

2.开发者可以关闭缓存,但是并不能要求所有用户都进行此类操作,此时可以在引用的文件之后拼接随机数或者日期都可以,浏览器就会认为是新的请求,而不会使用缓存中的文件,具体如下(只演示大概思路,具体使用,具体修改):

 1 function loadFile(arr) {
 2     let now = new Date();
 3     let timestamp = "?t=" + now.getTime();
 4     let head = document.getElementsByTagName("head")[0];
 5 
 6     if(arr) {
 7         arr.forEach(el => {
 8             let endStr = el.slice(-3);
 9             if(endStr === '.js') {
10                 let sc = document.createElement("script");
11                 sc.type = "text/javascript";
12                 sc.src = "../js/"+el + timestamp;
13                 head.appendChild(sc);
14             } else if(endStr === 'css') {
15                 let link = document.createElement("link");
16                 link.type = 'text/css';
17                 link.rel = 'stylesheet';
18                 link.href = "../css/"+el + timestamp;
19                 head.appendChild(link);
20             } else {
21                 console.log(el + "链接无法识别");
22             }
23         })
24     }
25 }
26 $(function(){
27     var js_arr=["alert.js","alert.css"];
28     loadFile(js_arr);
29 });

你可能感兴趣的:(如何解决前端开发中的缓存问题)