ext js動態(tài)加載機制的研究與實現(xiàn)

ext js動態(tài)加載機制的研究與實現(xiàn)

ID:27351535

大?。?2.50 KB

頁數(shù):5頁

時間:2018-12-02

ext js動態(tài)加載機制的研究與實現(xiàn)_第1頁
ext js動態(tài)加載機制的研究與實現(xiàn)_第2頁
ext js動態(tài)加載機制的研究與實現(xiàn)_第3頁
ext js動態(tài)加載機制的研究與實現(xiàn)_第4頁
ext js動態(tài)加載機制的研究與實現(xiàn)_第5頁
資源描述:

《ext js動態(tài)加載機制的研究與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、EXTJS動態(tài)加載機制的研究與實現(xiàn)摘要:為了提供給用戶良好的頁面使用感受,在頁面中使用腳本是常見的做法。用Javascript開發(fā)的ExtJs框架其豐富的界面功能,能帶給用戶良好的體驗。為了提高頁面的執(zhí)行效率,ExtJs通過一系列方法實現(xiàn)了動態(tài)加載機制,具體有參數(shù)設(shè)置方法、Ext部分導(dǎo)入方法以及微加載等。文章ExtJs的動態(tài)加載機制的相關(guān)方法進行討論。經(jīng)過比較,其中的參數(shù)設(shè)置方法簡單、高效。中國8/vie  關(guān)鍵詞:ExtJS;動態(tài)加載;執(zhí)行效率;JavaScript;參數(shù)設(shè)置  中圖分類號:TP391.1 

2、 文獻標志碼:A  :1006-8228(2017)01-41-03  0.引言  隨著usicusice的Develop工具可以看到,在執(zhí)行了相關(guān)操作(比如點擊按鈕)后,才會去加載定義的js文件,測試成功。圖1和圖2展示了測試的結(jié)果。  此方式已經(jīng)考慮緩存的狀況。一段時間更新的話,不會重復(fù)加載同樣的js文件?! ?.2自定義需要的ext-all.is文件,而不是導(dǎo)入整個文件的實現(xiàn)規(guī)則 ?。?)下載SenchaCmd。SenchaCmd是一套集打包、部署、壓縮等功能的工具。SenchaCmd支持SenchaE

3、xtJs的4.1.1a及以上版本并支持SenchaTouch的2.1版本及以上。許多新功能需要在框架的支持下工作。SenchaCmd需要Java的運行環(huán)境,需要1.7及以上版本的java環(huán)境支持,最低要求是javal.6版本。其下載products/sencha-cmd/doespaceExt.  chartandconcatext-all-nocharts-debug-ents,js ?。?)使用senchacmd可以產(chǎn)生指定模塊的js.(不需要的模塊就不會包括進來)?! 。?)sdk后面是extjs的目錄

4、,senchacmd依賴下面的src目錄的源代碼產(chǎn)生匯總的is?! 。?)包和第三方包并不是使用Ext.define方式來定義的,使用以下方法導(dǎo)入自己定義的is文件:Ext.Loader.IoadScript(url:scriptpath,scope:this):  需要注意兩點:①這種方式是沒有緩存機制的,只要執(zhí)行這個,都會從服務(wù)器端重新下載代碼;②這種方式是異步的,如果導(dǎo)入兩份有前后依賴關(guān)系的js,則有可能出問題。可以用祥光方法解決這個問題。定義is的全局變量,或在Ext對象中設(shè)置相應(yīng)的屬性。對有依賴關(guān)系

5、的文件,可以在第一份加載成功后再加載第二份?! xt.LoadeLIoadScript({url:scriptlpath,scope:this.  onLoad:function()  Ext.Loader.10adScript(url:script2path,scope:this):  1.3使用controller方式具體實現(xiàn)規(guī)則 ?。?)獲取加載文件的路徑:對controHer而言,它的加載路徑總是有兩個備選路徑,一個是Ext框架級別的備選路徑,它的默認值是當(dāng)前目錄,另外一個是項目級別的路徑,其優(yōu)先級

6、高于框架級別。只有?目級別路徑加載不到is資源文件時,才會從框架級別的路徑中加載is文件。 ?。?)要計算出項目級別的路徑,不得不獲取很多相關(guān)信息,比如前綴,controller的類名,路徑名。其中Ext.application的項目名(name)的作用是提供項目級別路徑的key,Ext.application的(appFolder)提供了項目級別路徑的value,前綴是通過類的全名解析出來的。一般類的全名的前綴部分最好和Ext.application的項目名(name)一致,其原因是,資源文件最終路徑pat

7、h是通過path=paths[prefix]計算出來的。如果不一致,則轉(zhuǎn)else分支。所有的資源文件最終路徑都是用.分割的路徑最終替換成的,分割的路徑并且尾部追加擴展名來形成的,項目中任何地方不會涉及裸露的路徑字符串。 ?。?)在任何情況下controller總能被正確的加載,只要appFolder設(shè)置正確。  1.4關(guān)于微加載  在最新的SenchaCmd6包含了本地存儲緩存,這類似于SenchaTouch的產(chǎn)品的微加載。它有一些重要的改進: ?。?)緩存能在app.json中禁用; ?。?)只有通過徽加載

8、方式加載的內(nèi)容才不會被刪除;  (3)只有應(yīng)用程序的當(dāng)前版本才可保持在本地存儲?! ∵@些改進解決了當(dāng)前Touch微加載所報告的問題。主要是它會在超出空間的時候積極的刪除本地存儲的內(nèi)容。這個問題時常發(fā)生是因為保留了不必要的舊版本應(yīng)用程序,這讓完全刪除成為最終選擇?! ?.結(jié)束語  本文從幾種途徑討論了ExT的按需加載問題。這幾種解決方法都各自有優(yōu)點和不足之處。從這幾種方法比較來看,個人更喜歡第一種方式

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。