破解文件缓存不更新问题

来源:互联网 发布:有哪些抢购软件 编辑:程序博客网 时间:2024/05/29 16:16

常用方法:

1、文件头部声明,不缓存文件

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 


2、动态生成引入,文件后加时间或者版本号。

document.writeln('<script src="'+node[i].url+'?version='+node[i].version+'"><\/script>')


3、静态引入,文件后加时间或者版本号。

<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?2.0"></script>


静态版本号方案比较好,不会反复加载,而且又能及时更新

可以采用grunt处理版本号的替换。推荐使用 grunt-chache-breaker.配置如下,目前只支持单个html文件内的替换。

 cachebreaker: {    dev: {        options: {            match: [            {'conf.js':'js/conf.js',            'common.js':'js/common.js'          }],            replacement: 'md5'        },        files: {            src: ['test.html']        }    }}


参考:

https://github.com/PaulTondeur/grunt-cache-busting

https://www.npmjs.com/package/grunt-cache-breaker

http://stackoverflow.com/questions/20437620/dynamically-add-version-number-to-dest-output-files-w-grunt


0 0