ext js动态加载机制的研究与实现

ext js动态加载机制的研究与实现

ID:27351535

大小:52.50 KB

页数:5页

时间:2018-12-02

ext js动态加载机制的研究与实现_第1页
ext js动态加载机制的研究与实现_第2页
ext js动态加载机制的研究与实现_第3页
ext js动态加载机制的研究与实现_第4页
ext js动态加载机制的研究与实现_第5页
资源描述:

《ext js动态加载机制的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、EXTJS动态加载机制的研究与实现摘要:为了提供给用户良好的页面使用感受,在页面中使用脚本是常见的做法。用Javascript开发的ExtJs框架其丰富的界面功能,能带给用户良好的体验。为了提高页面的执行效率,ExtJs通过一系列方法实现了动态加载机制,具体有参数设置方法、Ext部分导入方法以及微加载等。文章ExtJs的动态加载机制的相关方法进行讨论。经过比较,其中的参数设置方法简单、高效。中国8/vie  关键词:ExtJS;动态加载;执行效率;JavaScript;参数设置  中图分类号:TP391.1 

2、 文献标志码:A  :1006-8228(2017)01-41-03  0.引言  随着usicusice的Develop工具可以看到,在执行了相关操作(比如点击按钮)后,才会去加载定义的js文件,测试成功。图1和图2展示了测试的结果。  此方式已经考虑缓存的状况。一段时间更新的话,不会重复加载同样的js文件。  1.2自定义需要的ext-all.is文件,而不是导入整个文件的实现规则  (1)下载SenchaCmd。SenchaCmd是一套集打包、部署、压缩等功能的工具。SenchaCmd支持SenchaE

3、xtJs的4.1.1a及以上版本并支持SenchaTouch的2.1版本及以上。许多新功能需要在框架的支持下工作。SenchaCmd需要Java的运行环境,需要1.7及以上版本的java环境支持,最低要求是javal.6版本。其下载products/sencha-cmd/doespaceExt.  chartandconcatext-all-nocharts-debug-ents,js  (2)使用senchacmd可以产生指定模块的js.(不需要的模块就不会包括进来)。  (3)sdk后面是extjs的目录

4、,senchacmd依赖下面的src目录的源代码产生汇总的is。  (4)包和第三方包并不是使用Ext.define方式来定义的,使用以下方法导入自己定义的is文件:Ext.Loader.IoadScript(url:scriptpath,scope:this):  需要注意两点:①这种方式是没有缓存机制的,只要执行这个,都会从服务器端重新下载代码;②这种方式是异步的,如果导入两份有前后依赖关系的js,则有可能出问题。可以用祥光方法解决这个问题。定义is的全局变量,或在Ext对象中设置相应的属性。对有依赖关系

5、的文件,可以在第一份加载成功后再加载第二份。  Ext.LoadeLIoadScript({url:scriptlpath,scope:this.  onLoad:function()  Ext.Loader.10adScript(url:script2path,scope:this):  1.3使用controller方式具体实现规则  (1)获取加载文件的路径:对controHer而言,它的加载路径总是有两个备选路径,一个是Ext框架级别的备选路径,它的默认值是当前目录,另外一个是项目级别的路径,其优先级

6、高于框架级别。只有�目级别路径加载不到is资源文件时,才会从框架级别的路径中加载is文件。  (2)要计算出项目级别的路径,不得不获取很多相关信息,比如前缀,controller的类名,路径名。其中Ext.application的项目名(name)的作用是提供项目级别路径的key,Ext.application的(appFolder)提供了项目级别路径的value,前缀是通过类的全名解析出来的。一般类的全名的前缀部分最好和Ext.application的项目名(name)一致,其原因是,资源文件最终路径pat

7、h是通过path=paths[prefix]计算出来的。如果不一致,则转else分支。所有的资源文件最终路径都是用.分割的路径最终替换成的,分割的路径并且尾部追加扩展名来形成的,项目中任何地方不会涉及裸露的路径字符串。  (3)在任何情况下controller总能被正确的加载,只要appFolder设置正确。  1.4关于微加载  在最新的SenchaCmd6包含了本地存储缓存,这类似于SenchaTouch的产品的微加载。它有一些重要的改进:  (1)缓存能在app.json中禁用;  (2)只有通过徽加载

8、方式加载的内容才不会被删除;  (3)只有应用程序的当前版本才可保持在本地存储。  这些改进解决了当前Touch微加载所报告的问题。主要是它会在超出空间的时候积极的删除本地存储的内容。这个问题时常发生是因为保留了不必要的旧版本应用程序,这让完全删除成为最终选择。  2.结束语  本文从几种途径讨论了ExT的按需加载问题。这几种解决方法都各自有优点和不足之处。从这几种方法比较来看,个人更喜欢第一种方式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。