ExtJS4 动态加载

由于有人说不要每次都调用ext-all.js,会影响性能,所以有考虑动态加载,动态加载时页面调用ext.js(4.0.7在调试时可考虑用ext-dev.js),然后在onReady之前调用

Ext.Loader.setPath('Ext', '/ByInvoice/extjs/src');

Ext.Loader.setConfig({ enabled: true });  

 

注意一定是先调用setPath,再调用setConfig。由于我的程序并未从ext上继承什么,而是直接创建ext相应的类,所以需要改变Ext类的相关地址,否则动态加载会出错(在这儿我搞了一天才弄明白)

 

想研究更深的朋友可以看一下ext-dev.js相关代码:setPath: flexSetter(function(name, path) ,关注这个变量:this.config.paths,这个变量很简单,就是各种类的的类名和其地址的一个map,默认paths[‘Ext’]值为”src”,这就能解释为何老是报找不到extjs目录下的东西了.

另外发现动态加载并没有显著提升性能,反倒比之前调用ext-all.js更怕,有性能优化这方面的人吗,可以一起交流一下.目前我的一个页面要3.5秒,动态加载达到了4秒,只好放弃这个花了一天时间研究出来的成果.

上一篇:C# 反射实现动态加载程序集


下一篇:Ubuntu16.04下的NetCore环境搭建