seajs實(shí)現(xiàn)強(qiáng)制刷新本地緩存的方法分析
本文實(shí)例講述了seajs實(shí)現(xiàn)強(qiáng)制刷新本地緩存的方法。分享給大家供大家參考,具體如下:
1.為什么
由于每次上傳js文件到服務(wù)器后用戶本機(jī)存在本地緩存,導(dǎo)致用戶需要強(qiáng)制清除緩存或者等待緩存失效才能使用新功能,極其不友好。
2.原理
seajs配置參數(shù)中有map屬性為文件映射功能,其作用是通過seajs加載的文件映射為一個(gè)新的名稱加載,形如
var version="0.0.1";
seajs.config({//seajs配置聲明
map:[
[".js",".js?v="+version]//映射規(guī)則
]
});
之后在模塊化中通過require引入的js模塊或者通過require.async()異步方式加載的js都會(huì)映射到一個(gè)新的地址,形如:
require("./a");require.async(["a"]);
不配置map屬性seajs會(huì)加載a.js,配置map屬性后加載的文件名為a.js?v=0.0.1
3.拓展
1.對(duì)我來說其最大的作用可以全局的設(shè)置版本號(hào),即原理中所說的方式,提供了一種強(qiáng)制刷新緩存的方法。
2.當(dāng)然這種形式在查詢資料時(shí)還發(fā)現(xiàn)了一種替代為-debug.js的方式,這樣最大的作用可以更換js,使js使用debug版本的js,挺有意思。
3.seajs中還有很多功能能夠極大的簡化開發(fā)或者處理一些比較棘手的問題,還需要好好的看,多多的學(xué)。
希望本文所述對(duì)大家seajs程序設(shè)計(jì)有所幫助。
相關(guān)文章
 詳解Sea.js中Module.exports和exports的區(qū)別
最近在看Seajs時(shí),看到了exports.doSomething和module.exports,想對(duì)這兩者的區(qū)別一探究竟。所以下面這篇文章主要介紹了Sea.js中Module.exports和exports的區(qū)別,需要的朋友可以參考借鑒,一起來看看吧。2017-02-02
 Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗(yàn)
這篇文章主要介紹了Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗(yàn),非官方文檔,整理來自己官方文檔的文字與實(shí)例,方便速查。需要的朋友可以參考下2016-04-04
 seajs學(xué)習(xí)之模塊的依賴加載及模塊API的導(dǎo)出
SeaJS是一個(gè)遵循 CommonJS 規(guī)范的模塊加載框架,可用來輕松愉悅地加載任意JavaScript模塊和css模塊樣式。SeaJS接口和方法也非常少,SeaJS 就兩個(gè)核心:模塊定義和模塊的加載及依賴關(guān)系。本文將詳細(xì)介紹模塊的依賴加載及模塊API的導(dǎo)出,有需要的朋友們可以參考借鑒。2016-10-10

