日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sencha app refresh

發布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sencha app refresh 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.




版本說明:

Ext 4.2.1

cmd 5.0.3


1. sencha app refresh的作用是,重新生成bootstrap.js文件,如下圖所示:


2. bootstrap.js 三個作用:

  • 添加各個基礎命名空間或者類名的映射路徑 Ext.Loader.addClassPathMappings()

  • 將類名和備用名,對應起來 Ext.ClassManager.addNameAlternateMappings()

  • 將類名和別名,對應起來 Ext.ClassManager.addNameAliasMappings()


三者對應的meta命令分別為:

  • sencha compile -classpath=app?meta -loader?-out wyloader.js

  • sencha compile -classpath=app?meta -alt?-out wyalt.js

  • sencha compile -classpath=app?meta -alias?-out wyalias.js


參考地址:http://docs.sencha.com/cmd/5.x/advanced_cmd/cmd_metadata.html


注:

  • Ext.define('MyApp.view.Test'),這里的name既對應文件路徑,也對應Ext級別的class。為了后文敘述,我們暫且叫他“偽類”

  • 備用名:對應文件路徑的作用

  • 別名:對應Ext級別的class的作用


  • bootstrap.js的作用是影響Ext.loader的文件加載和路徑查找,以及Ext.ClassManager的類映射。



3. 用三個例子來說明一下


例1,普通的方式

????偽類StandardC定義如下:

Ext.define('Seed.view.StandardC',?{config:{name?:?'wy'},add?:?function?(x,?y)?{return?x?+?y;},subtract?:?function?(x,?y)?{return?x?-?y;} });

????調用偽類定義如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:['Seed.view.StandardC'?//?注意:如果用create方式創建對象,這里的require可省略],launch:?function?()?{var?sc?=?Ext.create('Seed.view.StandardC');?alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行refresh,并訪問地址,結果:運行正常



例2,類的別名的方式

????偽類StandardC定義如下:

Ext.define('Seed.view.StandardC',?{alias:?'StandardC',?//?注意這里用類的別名config:{name?:?'wy'},add?:?function?(x,?y)?{return?x?+?y;},subtract?:?function?(x,?y)?{return?x?-?y;} });
  • ????調用偽類定義1 如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:['Seed.view.StandardC'?//?注意:這里引用偽類],launch:?function?()?{var?sc?=?Ext.create('StandardC');??//?注意:這里用類的別名alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行refresh,在bootstrap.js中添加的如下內容:

Ext.ClassManager.addNameAlternateMappings({"Seed.view.StandardC":?[] });Ext.ClassManager.addNameAliasMappings({"Seed.view.StandardC":?["StandardC"] });

????運行應用:結果正常


????

  • ????調用偽類定義2 如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:['StandardC'?//?注意:這里引用類的別名],launch:?function?()?{var?sc?=?Ext.create('StandardC');??//?注意:這里用類的別名alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行應用:結果正常


????

  • ????調用偽類定義3 如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:[//?注意:這里不添加任何引用],launch:?function?()?{var?sc?=?Ext.create('StandardC');??//?注意:這里用類的別名alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行應用:結果正常


  • ????如果,我們手動刪除bootstrap.js中,類的別名和偽類之間的對于關系,refresh


????運行報錯,如下圖:

????


例3,路徑備用名的方式

????偽類StandardC定義如下:

Ext.define('Seed.view.StandardC',?{alternateClassName:?'al.StandardC',?//?注意這里用路徑的備用名config:{name?:?'wy'},add?:?function?(x,?y)?{return?x?+?y;},subtract?:?function?(x,?y)?{return?x?-?y;} });
  • ????調用偽類定義1 如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:['al.StandardC'?//?注意:這里引用備用路徑],launch:?function?()?{var?sc?=?Ext.create('al.StandardC');??//?注意:這里用備用路徑alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行refresh,在bootstrap.js中添加的如下內容(注意區別):

Ext.ClassManager.addNameAlternateMappings({"Seed.view.StandardC":?["al.StandardC"] });Ext.ClassManager.addNameAliasMappings({"Seed.view.StandardC":?[] });

????運行應用:結果正常


????

  • ????調用偽類定義2 如下:

Ext.define('Seed.Application',?{name:?'Seed',extend:?'Ext.app.Application',requires:[//?注意:這里不添加任何引用],launch:?function?()?{var?sc?=?Ext.create('al.StandardC');??//?注意:這里用備用路徑alert('sc?:'+?sc.getName()+?'?,res:?'?+?sc.add(3,4));} });

????運行應用:結果正常


  • ????如果,我們手動刪除bootstrap.js中,路徑備用名和偽類之間的對于關系,refresh


????運行報錯,如下圖:

????注意:例3和例2兩次報錯的區別!



這里的文件加載和類加載的技術細節,不是重點。而是,找到一種適合自己項目開發環境的,類、命名空間、文件路徑之間解耦的解決方案。突破點,在這里,就看怎樣應用!



轉載于:https://blog.51cto.com/wangyuelucky/1597791

總結

以上是生活随笔為你收集整理的sencha app refresh的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。