您的位置:首页 > 其它

破解文件缓存不更新问题

2017-02-15 00:00 183 查看
常用方法:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: