首页 > 代码库 > angular,require ,oclazyload项目如何加入版本控制
angular,require ,oclazyload项目如何加入版本控制
具体github项目地址
一个项目从上线了以后再维护,客户端由于有缓存报错了,这是了尴尬的时刻,因为他们不懂怎么清理缓存,这时候就要进行访问的时候就要进行强制刷新了,
例如引入的css文件为
<link rel="stylesheet" href="http://www.mamicode.com/style.css">
这样在服务端更新加入代码了,如何使客户端强制刷新
简单粗暴的是直接改css名字,显然这是不科学的,改到自己都词穷。
这时候我们可以用版本就行控制
<link rel="stylesheet" href="http://www.mamicode.com/style.css?v=1-0-0">
这样可以强制刷新了
注意你的css名字还是叫style.css只是你引入的时候加了?v=1-0-0
当你下次再稍微该这个文件时,你的 可能就是?v=1-0-1
grunt中有加入版本控制的方法,可以进行研究,后续我也会进行学习,到时候把只是分享到这里
言归正传,require.js怎么加入版本号
把reuirejs下面的代码
return config.urlArgs && !/^blob\:/.test(url) ? url + config.urlArgs(moduleName, url) : url;
替换为
if (!config.urlArgs) { return url;}if (typeof config.urlArgs === ‘string‘) { return url + ((url.indexOf(‘?‘) === -1 ? ‘?‘ : ‘&‘) + config.urlArgs);}//handle the urlArgs with a function//give each file it‘s own urlArgsif (isFunction(config.urlArgs)) { var urlArgs; try { urlArgs = config.urlArgs.call(config, moduleName, url); } catch (e) { urlArgs = ""; } return url + ((url.indexOf(‘?‘) === -1 ? ‘?‘ : ‘&‘) + urlArgs);}
https://github.com/xingkongwuyu/zhihu/blob/master/js/lib/require.js 可以参考这个
配置怎么配置呢?这样
<script type="text/javascript" src="http://www.mamicode.com/require.js" data-main="main"></script>
require.config({ //你的配置+ urlArgs:‘v=1-9-2‘})
angular,require ,oclazyload项目如何加入版本控制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。