ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)

ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)

ID:27351535

大小:52.50 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2018-12-02

ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)_第1頁(yè)
ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)_第2頁(yè)
ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)_第3頁(yè)
ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)_第4頁(yè)
ext js動(dòng)態(tài)加載機(jī)制的研究與實(shí)現(xiàn)_第5頁(yè)
資源描述:

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

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

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

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

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

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

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

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

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

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

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

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