seajs添加版本号强制刷新本地缓存

最近被这套架构弄得有点晕乎,每次上线由于缓存带来不少问题。本来用gulp添加了版本号,但是由于项目特殊性并不是每次html都上传,造成gulp打包完,然后不用。针对这个问题解决过一次,但是昨晚上线又出现缓存问题,找了半天,发现是通过seajs引入的js没有添加版本号;把我查找的解决方案贴出来:

seajs配置参数中有map属性为文件映射功能,其作用是通过seajs加载的文件映射为一个新的名称加载,形如

var version=“0.0.1”;
seajs.config({//seajs配置声明
map:[
    [‘.js’,‘.js?v=’+version]//映射规则
    ]
});

之后在模块化中通过require引入的js模块或者通过require.async()异步方式加载的js都会映射到一个新的地址,形如:
require(“./a”);require.async([“a”]);
不配置map属性seajs会加载a.js,配置map属性后加载的文件名为a.js?v=0.0.1

很好用!

猜你喜欢

转载自blog.csdn.net/zd717822023/article/details/79475243