自从使用了sea.js以后,发现想要更新js缓存很麻烦,之前只需要在引入的js里面加上版本号的参数即可,但是sea.js是按模块引入,不能手工加入版本号,最终找了资料,原来config参数里面有个map,可以使用正则给js加上版本号
map: [
[/.js$/, '.js?20160921'],
]
为了页面上可以直接配置版本号,我讲引入配置文件的script改成如下
<script src="static/mob/js/sea.config.js" id="seaConfig" data-version="20160921"></script>
以下是完整代码
seajs.config({
base: "/static/mob/js/module/",
map: [
[/.js$/, '.js' + getVersion()],
],
alias: {
"Swiper": "../../../mob/plugin/swiper/swiper-3.3.1.min.js",
"dropload":"dropload.min.js",
"doT":"doT.js",
"layer": "../../../mob/plugin/layer/layer.min.js",
}
});
function getVersion () {
var version = $('#seaConfig').data('version');
return version ? '?' + version : '';
}