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