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